macronova / kafka-connect-jms

Sink and source capabilities to transfer messages between JMS server and Kafka brokers
Apache License 2.0
16 stars 17 forks source link

`NoClassDefFoundError: javax/jms/Destination` when starting connector #1

Closed mrt181 closed 5 years ago

mrt181 commented 5 years ago

When I execute this curl -s -X POST -H 'Content-Type: application/json' --data @jms-sink-queue.json http://localhost:8083/connectors

I get this error:

[2018-11-28 17:12:22,550] INFO JmsSinkConnectorConfig values:                                                                          
        java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory                                           
        java.naming.provider.url = tcp://server1.domain.com:61616                                                                 
        java.naming.security.credentials = [hidden]                                                                                    
        java.naming.security.principal =                                                                                               
        jms.client.id =                                                                                                                
        jms.connection.factory =                                                                                                       
        jms.destination.name = Test.Amq.Dest.Logs                                                                              
        jms.destination.type = queue                                                                                                   
        jms.dialect.class = io.macronova.kafka.connect.jms.common.DefaultJmsDialect                                                    
        jms.message.converter = io.macronova.kafka.connect.jms.common.StandardJmsConverter                                             
        jms.message.converter.output.format = bytes                                                                                    
        jms.password = [hidden]                                                                                                        
        jms.url =                                                                                                                      
        jms.username =                                                                                                                 
        jndi.connection.factory = ConnectionFactory                                                                                    
        jndi.extra.params =                                                                                                            
        max.retries = 100                                                                                                              
        retry.backoff.ms = 60000                                                                                                       
        topics = algo.audit.order.logs.test                                                                                            
 (io.macronova.kafka.connect.jms.sink.JmsSinkConnectorConfig:279)                                                                      
[2018-11-28 17:12:22,550] INFO Finished starting connectors and tasks (org.apache.kafka.connect.runtime.distributed.DistributedHerder:8
52)                                                                                                                                    
[2018-11-28 17:12:22,550] INFO Opening new JMS connection to server: tcp://s930a3698.group.rwe.com:61616. (io.macronova.kafka.connect.j
ms.common.JmsConnectionPool:46)                                                                                                        
[2018-11-28 17:12:22,552] ERROR WorkerSinkTask{id=jms-sink-queue-1} Task threw an uncaught and unrecoverable exception (org.apac
he.kafka.connect.runtime.WorkerTask:172)                                                                                               
java.lang.NoClassDefFoundError: javax/jms/Destination                                                                                  

This is my config jms-sink-queue.json :

{
    "name": "jms-sink-queue",
    "config": {
        "connector.class": "io.macronova.kafka.connect.jms.JmsSinkConnector",
        "tasks.max": "2",
        "topics": "logs.test",
        "java.naming.factory.initial": "org.apache.activemq.jndi.ActiveMQInitialContextFactory",
        "java.naming.provider.url": "tcp://server1.domain.com:61616",
        "jndi.connection.factory": "ConnectionFactory",
        "jms.destination.name": "Test.Logs", 
        "jms.destination.type": "queue",
        "jms.message.converter": "io.macronova.kafka.connect.jms.common.StandardJmsConverter",
        "jms.message.converter.output.format": "bytes",
        "max.retries": 100,
        "retry.backoff.ms": 60000,
        "key.converter": "org.apache.kafka.connect.storage.StringConverter",
        "value.converter": "org.apache.kafka.connect.converters.ByteArrayConverter"
    }
}         

and this my worker connect-distributed.properties:

bootstrap.servers=kafka1:9092,kafka2:9092,kafka3:9092
group.id=connect-cluster
key.converter=org.apache.kafka.connect.converters.ByteArrayConverter
value.converter=org.apache.kafka.connect.converters.ByteArrayConverter
key.converter.schemas.enable=false
value.converter.schemas.enable=false
internal.key.converter=org.apache.kafka.connect.json.JsonConverter
internal.value.converter=org.apache.kafka.connect.json.JsonConverter
internal.key.converter.schemas.enable=false
internal.value.converter.schemas.enable=false
offset.storage.topic=connect-offsets
offset.storage.replication.factor=1
config.storage.topic=connect-configs
config.storage.replication.factor=3
status.storage.topic=connect-status
status.storage.replication.factor=3
offset.flush.interval.ms=10000                                        
plugin.path=/opt/kafka-connectors                                     

and this is my plugin path:

$ ls -la
total 32
drwxr-xr-x.  3 kafka kafka 4096 Nov 28 17:19 .
drwxr-xr-x. 11 root  root  4096 Nov 13 16:40 ..
drwxr-xr-x.  2 kafka kafka 4096 Nov 28 16:55 logs-jms
-rwxr-xr-x.  1 kafka kafka  921 Nov 28 17:12 jms-sink-queue.json
$ ls -la logs-jms/
total 17784
drwxr-xr-x. 2 kafka kafka     4096 Nov 28 16:55 .
drwxr-xr-x. 3 kafka kafka     4096 Nov 28 17:19 ..
-rwxr-xr-x. 1 kafka kafka 18156192 Nov 13 11:29 activemq-all-5.15.7.jar
-rwxr-xr-x. 1 kafka kafka    44709 Nov 28 16:54 kafka-connect-jms-1.0.0.jar
mrt181 commented 5 years ago

Nevermind, I used activemq-all instead of activemq-client