Forums | Admin

Discussion Forums: help

Start New Thread Start New Thread
Message: 173397
BY: Dennis Haller (dhaller)
DATE: 2013-02-26 18:50
SUBJECT: RE: java error "IncompatibleClassChangeError"

 

Following is the script I'm using.

Note that all the jar files can be obtained from the Apache Kafka project here:
https://www.apache.org/dyn/closer.cgi/incubator/kafka/kafka-0.7.2-incubating/kafka-0.7.2-incubating-src.tgz

Thanks


==============================
#!/usr/bin/env ruby
# using Ruby Java Bridge to call Kafka APIs
#
require 'rjb'

KAFKA_PATH = "/Users/dhaller/kafka/kafka-0.7.2-incubating-src"

RJB_LOAD_PATH = ["#{KAFKA_PATH}/lib/scala-library.jar",
"#{KAFKA_PATH}/project/boot/scala-2.8.0/lib/scala-compiler.jar",
"#{KAFKA_PATH}/project/boot/scala-2.8.0/lib/scala-library.jar",
"#{KAFKA_PATH}/core/target/scala_2.8.0/kafka-0.7.2.jar",
"#{KAFKA_PATH}/core/lib/*.jar",
"#{KAFKA_PATH}/perf/target/scala_2.8.0/kafka-perf-0.7.2.jar",
"#{KAFKA_PATH}/core/lib_managed/scala_2.8.0/compile/jopt-simple-3.2.jar",
"#{KAFKA_PATH}/core/lib_managed/scala_2.8.0/compile/log4j-1.2.15.jar",
"#{KAFKA_PATH}/core/lib_managed/scala_2.8.0/compile/snappy-java-1.0.4.1.jar",
"#{KAFKA_PATH}/core/lib_managed/scala_2.8.0/compile/zkclient-0.1.jar",
"#{KAFKA_PATH}/core/lib_managed/scala_2.8.0/compile/zookeeper-3.3.4.jar"
].join(File::PATH_SEPARATOR)
RJB_OPTIONS = ["-Xmx512M" ]

Rjb::load(RJB_LOAD_PATH, RJB_OPTIONS)


Properties = Rjb::import('java.util.Properties')
ProducerConfig = Rjb::import('kafka.producer.ProducerConfig')
Producer = Rjb::import('kafka.javaapi.producer.Producer')
ProducerData = Rjb::import('kafka.javaapi.producer.ProducerData')

props = Properties.new
p props._classname
props.put("zk.connect", "localhost:2181");

producer_config = ProducerConfig.new_with_sig('Ljava.util.Properties;',props)
p producer_config._classname

producer = Producer.new_with_sig('Lkafka.producer.ProducerConfig;', producer_config)
p producer._classname

topic = "test"
key = "1"
msgs = ["m1","m2"]

producer_data = ProducerData.new_with_sig('Ljava.lang.String;Ljava.lang.Object;Ljava.util.List;',topic,key,msgs)
p producer_data._classname
p producer_data

#producer.send is an overloaded method
#
#1. does not work: IncompatibleClassChangeError
producer._invoke('send','Lkafka.javaapi.producer.ProducerData;', producer_data )


Thread View

Thread Author Date
java error "IncompatibleClassChangeError"Dennis Haller2013-02-25 20:13
      RE: java error "IncompatibleClassChangeError"Dennis Haller2013-02-25 22:43
      RE: java error "IncompatibleClassChangeError"arton Tajima2013-02-26 17:11
            RE: java error "IncompatibleClassChangeError"Dennis Haller2013-02-26 17:44
                  RE: java error "IncompatibleClassChangeError"arton Tajima2013-02-26 18:15
                        RE: java error "IncompatibleClassChangeError"Dennis Haller2013-02-26 18:50
                              RE: java error "IncompatibleClassChangeError"arton Tajima2013-02-27 14:31
                                    RE: java error "IncompatibleClassChangeError"Dennis Haller2013-02-27 16:18

Post a followup to this message