0
votes

I have a simple Camel application that is tracing to a JMS endpoint. I am currently experiencing an issue where it appears that the received JMS message is not being acknowledged (It is reading from a queue without any messages being put on it and the current queue depth is not reducing).

Any idea on what may be causing this issue?

Tracing Route

    from("jms.tracer")
        .id("openlink-input-trace")
        .process(new Processor()
        {
            @Override
            public void process(Exchange exchange) throws Exception 
            {
                System.out.println("test");
            }
        });

Spring JMS Config

<bean id="tracerQueueConnFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="jndiTemplate" />
    <property name="jndiName" value="${jms.openlink-tracer-queue-qcf.jndiname}" />
</bean>

<bean id="proxyTracerQueueConnFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
    <property name="targetConnectionFactory" ref="tracerQueueConnFactory" />
    <property name="username" value="${jms.openlink-tracer-queue-qcf.username}" />
    <property name="password" value="${jms.openlink-tracer-queue-qcf.password}" />
</bean>

<bean id="jmsTrace" class="org.apache.camel.component.jms.JmsComponent">
    <property name="connectionFactory" ref="proxyTracerQueueConnFactory" />
    <property name="destinationResolver" ref="jndiResolver" />
</bean>

Spring Endpoint Config

    <endpoint id="jms.tracer"
              uri="jmsTrace:queue:${jms.openlink-tracer-queue.jndiname}" />

EDIT:

This is using TibcoEMS as the broker.

All I can see in the logs is the following:

[2012 Jul 11 11:39:46] DEBUG [] (AbstractPollingMessageListenerContainer.java:313) - Received message of type [class com.tibco.tibjms.TibjmsObjectMessage] from consumer [QueueReceiver[queue=f2b.prototype.tracer.queue]] of session [com.tibco.tibjms.TibjmsSession@16c143]

[2012 Jul 11 11:39:46] DEBUG [] (EndpointMessageListener.java:72) - Endpoint[jmsTrace://queue:/user_dev/db/us/GTO/CIFramework/S001DEV/f2b.prototype.tracer.queue:queue] consumer received JMS message: ObjectMessage={ Header={ JMSMessageID={ID:db_us_GTO_CIFramework_S001DEV.20D84FDA9F769B1A97:3} JMSDestination={Queue[f2b.prototype.tracer.queue]} JMSReplyTo={null} JMSDeliveryMode={PERSISTENT} JMSRedelivered={false} JMSCorrelationID={null} JMSType={null} JMSTimestamp={Wed Jul 11 10:53:48 CDT 2012} JMSExpiration={0} JMSPriority={4} } Properties={ } Object={com.db.cif.tracer.jpa.model.JpaTraceEventMessage@1dfe3f} }

[2012 Jul 11 11:39:46] DEBUG [] (JmsTemplate.java:464) - Executing callback on JMS Session: com.tibco.tibjms.TibjmsSession@16c143

[2012 Jul 11 11:39:46] DEBUG [] (JmsConfiguration.java:266) - Sending JMS message to: Queue[f2b.prototype.tracer.queue] with message: ObjectMessage={ Header={ JMSMessageID={null} JMSDestination={null} JMSReplyTo={null} JMSDeliveryMode={PERSISTENT} JMSRedelivered={false} JMSCorrelationID={null} JMSType={null} JMSTimestamp={0} JMSExpiration={0} JMSPriority={4} } Properties={ } Object={com.db.cif.tracer.jpa.model.JpaTraceEventMessage@16119a} }

test

[2012 Jul 11 11:39:52] DEBUG [] (AbstractPollingMessageListenerContainer.java:313) - Received message of type [class com.tibco.tibjms.TibjmsObjectMessage] from consumer [QueueReceiver[queue=f2b.prototype.tracer.queue]] of session [com.tibco.tibjms.TibjmsSession@16c143]

[2012 Jul 11 11:39:52] DEBUG [] (EndpointMessageListener.java:72) - Endpoint[jmsTrace://queue:/user_dev/db/us/GTO/CIFramework/S001DEV/f2b.prototype.tracer.queue:queue] consumer received JMS message: ObjectMessage={ Header={ JMSMessageID={ID:db_us_GTO_CIFramework_S001DEV.20D84FDA9F769B1A97:4} JMSDestination={Queue[f2b.prototype.tracer.queue]} JMSReplyTo={null} JMSDeliveryMode={PERSISTENT} JMSRedelivered={false} JMSCorrelationID={null} JMSType={null} JMSTimestamp={Wed Jul 11 10:53:50 CDT 2012} JMSExpiration={0} JMSPriority={4} } Properties={ } Object={com.db.cif.tracer.jpa.model.JpaTraceEventMessage@1d81bc5} }

[2012 Jul 11 11:39:52] DEBUG [] (JmsTemplate.java:464) - Executing callback on JMS Session: com.tibco.tibjms.TibjmsSession@16c143

[2012 Jul 11 11:39:52] DEBUG [] (JmsConfiguration.java:266) - Sending JMS message to: Queue[f2b.prototype.tracer.queue] with message: ObjectMessage={ Header={ JMSMessageID={null} JMSDestination={null} JMSReplyTo={null} JMSDeliveryMode={PERSISTENT} JMSRedelivered={false} JMSCorrelationID={null} JMSType={null} JMSTimestamp={0} JMSExpiration={0} JMSPriority={4} } Properties={ } Object={com.db.cif.tracer.jpa.model.JpaTraceEventMessage@3b09b4} }

1

1 Answers

0
votes

I knew I was doing something stupid!

I took a closer look at the trace messages and realized that tracing was enabled on my context causing my tracer route to be traced and thus a nice little infinite loop.