You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Tyler Durvik <ph...@gmail.com> on 2012/09/23 03:55:11 UTC

AMQP component errors with RabbitMQ

I am trying to connect to RabbitMQ using the Camel AMQP connector.  I
am using the following versions:

Camel 2.10.0
Qpid 0.18
RabbitMQ 2.8.6

Here is my route:
        <camel:route>
            <camel:from
uri="quartz://myGroup/myTimerName?trigger.repeatInterval=2&amp;trigger.repeatCount=1"
/>
            <camel:to uri="jms:queue:thisisatest" />
        </camel:route>

        <camel:route>
            <camel:from uri="jms:queue:thisisatest" />
            <camel:to uri="file:destination" />
        </camel:route>

Here is my RabbitMQ Camel connetion factory definition:

    <bean id="jmsConnectionFactory"
class="org.apache.qpid.client.AMQConnectionFactory" >
        <constructor-arg
            index="0" type="java.lang.String"
value="amqp://guest:guest@/test?brokerlist='tcp://localhost:5672'" />
    </bean>

    <bean id="jms" class="org.apache.camel.component.jms.JmsComponent" >
        <property name="connectionFactory" ref="jmsConnectionFactory" />
        <property name="useMessageIDAsCorrelationID" value="true" />
    </bean>



In the RabbitMQ logs I get the following:
=INFO REPORT==== 22-Sep-2012::21:47:26 ===
accepting AMQP connection <0.3542.0> (127.0.0.1:52486 -> 127.0.0.1:5672)

=ERROR REPORT==== 22-Sep-2012::21:47:26 ===
closing AMQP connection <0.3542.0> (127.0.0.1:52486 -> 127.0.0.1:5672):
{bad_version,1,1,0,10}



In the Camel logs I get the following:

[artzScheduler-camel-1_Worker-2] AMQConnection                  INFO
Connection 3 now connected from /127.0.0.1:52337 to
localhost/127.0.0.1:5672
[ver - localhost/127.0.0.1:5672] ChannelCloseOkMethodHandler    INFO
Received channel-close-ok for channel-id 1
[ver - localhost/127.0.0.1:5672] ChannelCloseOkMethodHandler    INFO
Received channel-close-ok for channel-id 1
[ver - localhost/127.0.0.1:5672] ChannelCloseOkMethodHandler    INFO
Received channel-close-ok for channel-id 1
[artzScheduler-camel-1_Worker-2] DefaultErrorHandler            ERROR
Failed delivery for (MessageId:
ID-myhost-2-local-52331-1348364629870-0-2 on ExchangeId:
ID-myhost-2-local-52331-1348364629870-0-3). Exhausted after delivery
attempt: 1 caught: java.lang.NullPointerException
java.lang.NullPointerException
	at org.apache.qpid.client.BasicMessageProducer_0_8.declareDestination(BasicMessageProducer_0_8.java:60)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.BasicMessageProducer.<init>(BasicMessageProducer.java:151)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.BasicMessageProducer_0_8.<init>(BasicMessageProducer_0_8.java:53)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.AMQSession_0_8.createMessageProducer(AMQSession_0_8.java:456)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.AMQSession_0_8.createMessageProducer(AMQSession_0_8.java:56)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.AMQSession$7.execute(AMQSession.java:2633)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.AMQSession$7.execute(AMQSession.java:2624)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.AMQConnectionDelegate_8_0.executeRetrySupport(AMQConnectionDelegate_8_0.java:331)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.AMQConnection.executeRetrySupport(AMQConnection.java:593)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.AMQSession.createProducerImpl(AMQSession.java:2622)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.AMQSession.createProducer(AMQSession.java:1201)[qpid-client-0.18.jar:]
	at org.apache.qpid.client.AMQSession.createProducer(AMQSession.java:102)[qpid-client-0.18.jar:]
	at org.springframework.jms.core.JmsTemplate.doCreateProducer(JmsTemplate.java:971)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.jms.core.JmsTemplate.createProducer(JmsTemplate.java:952)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:210)[camel-jms-2.10.0.jar:2.10.0]
	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:156)[camel-jms-2.10.0.jar:2.10.0]
	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$3.doInJms(JmsConfiguration.java:190)[camel-jms-2.10.0.jar:2.10.0]
	at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:187)[camel-jms-2.10.0.jar:2.10.0]
	at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:387)[camel-jms-2.10.0.jar:2.10.0]
	at org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:341)[camel-jms-2.10.0.jar:2.10.0]
	at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:132)[camel-jms-2.10.0.jar:2.10.0]
	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:120)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:292)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:115)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:44)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:71)[camel-core-2.10.0.jar:2.10.0]
	at org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:113)[camel-quartz-2.10.0.jar:2.10.0]
	at org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:54)[camel-quartz-2.10.0.jar:2.10.0]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:216)[quartz-1.8.5.jar:]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)[quartz-1.8.5.jar:]


My thinking is that the AMQP version that RabbitMQ and Camel (Qpid)
are trying to talk is not compatible.  Any ideas?