[[api-java]] === Java API Watcher provides a Java client called WatcherClient that adds support for the Watcher APIs to the standard Java clients that ship with Elasticsearch ({java-client-ref}/transport-client.html[Transport Client] or the {java-client-ref}/node-client.html[Node Client]). ==== Installing WatcherClient To use the `WatcherClient` you will need to make sure the `elasticsearch-watcher` JAR file is in the classpath. You can extract the jar from the downloaded watcher plugin itself. If you use Maven to manage dependencies, add the following to the `pom.xml`: [source,xml] -------------------------------------------------- elasticsearch-releases http://maven.elasticsearch.org/releases true false ... ... org.elasticsearch.plugin elasticsearch-watcher 2.0.0-beta2 ... ... -------------------------------------------------- If you use Gradle, add the dependencies to `build.gradle`: [source,groovy] -------------------------------------------------------------- repositories { /* ... Any other repositories ... */ // Add the Elasticsearch Maven Repository maven { url "http://maven.elasticsearch.org/releases" } } dependencies { // Provide the Watcher jar on the classpath for compilation and at runtime compile "org.elasticsearch.plugin:elasticsearch-watcher:2.0.0-beta2" /* ... */ } -------------------------------------------------------------- You can manually download the http://maven.elasticsearch.org/releases/org/elasticsearch/plugin/elasticsearch-watcher/{version}/elasticsearch-{version}.jar[Watcher JAR] directly from our Maven repository. ==== Creating the WatcherClient Creating the `WatcherClient` can simply be done as the following snippet shows: [source,java] -------------------------------------------------- import org.elasticsearch.watcher.client.WatcherClient; ... Client client = ... // create and initialize either the transport or the node client WatcherClient watcherClient = new WatcherClient(client); -------------------------------------------------- include::java/put-watch.asciidoc[] include::java/get-watch.asciidoc[] include::java/delete-watch.asciidoc[] include::java/execute-watch.asciidoc[] include::java/ack-watch.asciidoc[] include::java/activate-watch.asciidoc[] include::java/deactivate-watch.asciidoc[] include::java/stats.asciidoc[] include::java/service.asciidoc[]