# Is the transport Java API open source too?

**URL:** <https://discuss.elastic.co/t/is-the-transport-java-api-open-source-too/68312>\
**Category:** Elasticsearch\
**Created:** [December 7, 2016, 2:36pm UTC](https://discuss.elastic.co/t/is-the-transport-java-api-open-source-too/68312 "2016-12-07T14:36:49Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![JonathanAaron](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jonathanaaron/32/24405_2.png) [@JonathanAaron](https://discuss.elastic.co/u/JonathanAaron)\
**Post date:** [December 7, 2016, 2:36pm UTC](https://discuss.elastic.co/t/is-the-transport-java-api-open-source-too/68312/1 "2016-12-07T14:36:49Z")

</div>

I'm trying to find the source for the transport client I use in my java app. Where is it located in github?

Edit:

Looks like when I'm pulling in TransportClient from maven I'm really pulling down, Elasticsearch.jar from the client project, PrebultTransportClient from the client project, transport-netty3-client and transport-netty4-client from the modules project, lang-mustache-client and percolator-client. If I wanted to modify the TransportClient I would have to build out the elasticserach-core project to pull it into my project.

---

<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:** [December 7, 2016, 2:48pm UTC](https://discuss.elastic.co/t/is-the-transport-java-api-open-source-too/68312/2 "2016-12-07T14:48:24Z")

</div>

Here: [https://github.com/elastic/elasticsearch](https://github.com/elastic/elasticsearch)

And you can start here: [https://github.com/elastic/elasticsearch/tree/master/client/transport](https://github.com/elastic/elasticsearch/tree/master/client/transport)

---

<div class="post-metadata">

**Author:** ![JonathanAaron](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jonathanaaron/32/24405_2.png) [@JonathanAaron](https://discuss.elastic.co/u/JonathanAaron)\
**Post date:** [December 7, 2016, 3:27pm UTC](https://discuss.elastic.co/t/is-the-transport-java-api-open-source-too/68312/3 "2016-12-07T15:27:49Z")

</div>

Ah, that's great. I just built it. Thank you!

---

<div class="post-metadata">

**Author:** ![nik9000](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nik9000/32/44947_2.png) [@nik9000](https://discuss.elastic.co/u/nik9000)\
**Post date:** [December 8, 2016, 2:42pm UTC](https://discuss.elastic.co/t/is-the-transport-java-api-open-source-too/68312/4 "2016-12-08T14:42:48Z")

</div>

The trouble with the transport client is that it is the same code as the elasticsearch server. This means that it makes decisions that aren't really right for a library. For instance, it uses log4j2. Not slf4j or some other logigng abstraction. It uses log4j2 directly. Anyway, that is why we're so keen to make a useable java client. Or, at least, we've been keen on it in the past few months.

---

<div class="post-metadata">

**Author:** ![JonathanAaron](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jonathanaaron/32/24405_2.png) [@JonathanAaron](https://discuss.elastic.co/u/JonathanAaron)\
**Post date:** [December 8, 2016, 8:45pm UTC](https://discuss.elastic.co/t/is-the-transport-java-api-open-source-too/68312/5 "2016-12-08T20:45:17Z")

</div>

I see. That explains why I had to add log4j to my test project. Thanks!

---

<div class="post-metadata">

**Author:** ![JonathanAaron](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jonathanaaron/32/24405_2.png) [@JonathanAaron](https://discuss.elastic.co/u/JonathanAaron)\
**Post date:** [December 12, 2016, 7:12pm UTC](https://discuss.elastic.co/t/is-the-transport-java-api-open-source-too/68312/6 "2016-12-12T19:12:59Z")

</div>

Is this the same TransportClient that I have in my Java Project. It looks like it's just the pre-built Transport client.

---

<div class="post-metadata">

**Author:** ![JonathanAaron](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jonathanaaron/32/24405_2.png) [@JonathanAaron](https://discuss.elastic.co/u/JonathanAaron)\
**Post date:** [December 12, 2016, 8:22pm UTC](https://discuss.elastic.co/t/is-the-transport-java-api-open-source-too/68312/7 "2016-12-12T20:22:22Z")

</div>

So If I modified the TransportClient in elasticsearch/core, how would I build it use in my Java Project? Does any of these projects build out a jar that I get from maven repo? ie:

org.elasticsearch.client:transport:5.0.2'

---

<div class="post-metadata">

**Author:** ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)\
**Post date:** [December 13, 2016, 10:21am UTC](https://discuss.elastic.co/t/is-the-transport-java-api-open-source-too/68312/8 "2016-12-13T10:21:07Z")

</div>

> [@JonathanAaron](#):
>
> So If I modified the TransportClient in elasticsearch/core

The answer depends on your modification. What did you modify and why? Just out of curiosity.

---

<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:** [January 10, 2017, 10:21am UTC](https://discuss.elastic.co/t/is-the-transport-java-api-open-source-too/68312/9 "2017-01-10T10:21:27Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
