# Java node client missing license plugin

**URL:** <https://discuss.elastic.co/t/java-node-client-missing-license-plugin/41935>\
**Category:** Elasticsearch\
**Created:** [February 16, 2016, 8:33pm UTC](https://discuss.elastic.co/t/java-node-client-missing-license-plugin/41935 "2016-02-16T20:33:01Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![btscholl](https://avatars.discourse-cdn.com/v4/letter/b/9fc348/32.png) [@btscholl](https://discuss.elastic.co/u/btscholl)\
**Post date:** [February 16, 2016, 8:33pm UTC](https://discuss.elastic.co/t/java-node-client-missing-license-plugin/41935/1 "2016-02-16T20:33:01Z")

</div>

Hello,

I'm testing elasticsearch 2.2.0 and I am unable to add a java client node to a cluster. The following message is logged when the java client tries to join the cluster:

```auto
INFO: [java-client] failed to send join request to master [{local}{XdRAgfRYTzOIQY_S1SXs7w}{127.0.0.1}{127.0.0.1:9300}], reason [RemoteTransportException[[local][127.0.0.1:9300][internal:discovery/zen/join]]; nested: IllegalStateException[failure when sending a validation request to node]; nested: RemoteTransportException[[java-client][127.0.0.1:9301][internal:discovery/zen/join/validate]]; nested: IllegalArgumentException[No custom metadata nprototype registered for type [licenses], node like missing plugins]; ]

```

If I remove the license plugin from the master node the java client is able to join.

My java client is configured as follows:

```
protected Client node = NodeBuilder.nodeBuilder().settings(Settings.settingsBuilder()
                .put("cluster.name", "dev")
                .put("node.name", "java-client")
                .put("path.home", "/tmp")
                .put("http.enabled", "false")
                .put("node.client", "true")
                .put("node.data", "false"))
        .node().client();

```

I have the following Maven dependencies:

```
<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>2.2.0</version>
</dependency>
<dependency>
    <groupId>org.elasticsearch.plugin</groupId>
    <artifactId>license</artifactId>
    <version>2.2.0</version>
</dependency>

```

Is there something I need to do to load the licensing plugin?

Thanks for your help!

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [February 18, 2016, 4:04pm UTC](https://discuss.elastic.co/t/java-node-client-missing-license-plugin/41935/2 "2016-02-18T16:04:47Z")

</div>

This might help: [Add plugins from classpath in embedded Elasticsearch client node](https://discuss.elastic.co/t/add-plugins-from-classpath-in-embedded-elasticsearch-client-node/36269/2)

Note that we are probably going to recommend not using the Node Client anymore. See:

- [https://github.com/elastic/elasticsearch/issues/15383](https://github.com/elastic/elasticsearch/issues/15383)
- [https://github.com/elastic/elasticsearch/pull/16679](https://github.com/elastic/elasticsearch/pull/16679)

---

<div class="post-metadata">

**Author:** ![btscholl](https://avatars.discourse-cdn.com/v4/letter/b/9fc348/32.png) [@btscholl](https://discuss.elastic.co/u/btscholl)\
**Post date:** [February 18, 2016, 4:42pm UTC](https://discuss.elastic.co/t/java-node-client-missing-license-plugin/41935/3 "2016-02-18T16:42:42Z")

</div>

Thanks for the response, this is very helpful.

Two follow up questions:

1. would you expect a measurable performance difference between a Node client and this new recommendation (local elasticsearch + transport client)?
2. is the Node client builder going to be removed entirely in a future release or just not recommended?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [February 18, 2016, 7:44pm UTC](https://discuss.elastic.co/t/java-node-client-missing-license-plugin/41935/4 "2016-02-18T19:44:23Z")

</div>

1. Not noticeable difference as the Node and the TransportClient will be running on the same physical machine, so no network hop.

2. I don't know ATM. I expect that a new HTTP / Rest client will replace the Java Transport one. Well, it has been announced yesterday at elasticon.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 11:15pm UTC](https://discuss.elastic.co/t/java-node-client-missing-license-plugin/41935/5 "2017-07-05T23:15:09Z")

</div>


