[ https://issues.apache.org/jira/browse/KAFKA-865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14078121#comment-14078121 ]
Jay Kreps commented on KAFKA-865: --------------------------------- The new producer has been completed and the consumer is underway. > Mavenize and separate the client. > --------------------------------- > > Key: KAFKA-865 > URL: https://issues.apache.org/jira/browse/KAFKA-865 > Project: Kafka > Issue Type: Improvement > Components: clients > Affects Versions: 0.8.0 > Reporter: Ashwanth Fernando > > It seems that the java client for Kafka is also bundled with the server JAR > file and this is generated using sbt package. This is difficult for java > folks to work with because: > 1) Many java shops use maven and they want to specify the GAV of kafka in > their pom and bang, the client jar and all its dependencies should be added > to the application's classpath. I can't do that right now, because I need to > run ./sbt eclipse, get the .JAR, add that to my classpath, add a whole lot of > dependencies (log4j, slf4j, zkClient and so on) manually, which is a pain. > There are 90 million maven central uploads/downloads in 2012 alone. Almost > all the java shops out there have maven (either central or in house sonatype). > 2) Separation of concerns - keeping the server (core) and the client's > classes together in same jar file, increases the size of the bundle for a > client and also everytime the server's code changes and a release is > performed, the client also needs to update their .JAR file. which is not very > great. We don't want a ton of clients to update their .JAR file, just because > a faster replication strategy for the kafka server cluster changed in a new > release. > Action items are to separate the client and server portions of Kafka, add it > in a pom along with the compile time dependencies and upload it to Maven > Central or if you have a LinkedIn externally exposed Nexus, over there. > This will increase adoption of the Kafka framework. -- This message was sent by Atlassian JIRA (v6.2#6252)