111 lines
3.1 KiB
Plaintext
111 lines
3.1 KiB
Plaintext
[[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]
|
|
--------------------------------------------------
|
|
<project ...>
|
|
|
|
<repositories>
|
|
<!-- add the elasticsearch repo -->
|
|
<repository>
|
|
<id>elasticsearch-releases</id>
|
|
<url>http://maven.elasticsearch.org/releases</url>
|
|
<releases>
|
|
<enabled>true</enabled>
|
|
</releases>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
...
|
|
</repositories>
|
|
...
|
|
|
|
<dependencies>
|
|
<!-- add the Watcher jar as a dependency -->
|
|
<dependency>
|
|
<groupId>org.elasticsearch.plugin</groupId>
|
|
<artifactId>elasticsearch-watcher</artifactId>
|
|
<version>2.0.0-beta2</version>
|
|
</dependency>
|
|
...
|
|
</dependencies>
|
|
...
|
|
|
|
</project>
|
|
--------------------------------------------------
|
|
|
|
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.client.transport.TransportClient;
|
|
import org.elasticsearch.watcher.client.WatcherClient;
|
|
import org.elasticsearch.watcher.WatcherPlugin;
|
|
...
|
|
|
|
TransportClient client = TransportClient.builder()
|
|
.settings(Settings.builder()
|
|
.put("cluster.name", "myClusterName")
|
|
...
|
|
.build())
|
|
.addPlugin(WatcherPlugin.class)
|
|
.addTransportAddress(new InetSocketTransportAddress("localhost", 9300));
|
|
|
|
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[]
|