Apache camel 确认来自驼峰端点的JMS消息时出现问题
我有一个简单的Camel应用程序,可以跟踪JMS端点。我目前遇到一个问题,接收到的JMS消息似乎没有得到确认,它正在从队列中读取,而没有任何消息放在队列上,并且当前队列深度没有减少 你知道是什么导致了这个问题吗 追踪路线 SpringJMS配置 Spring端点配置 编辑: 这是使用Tibcomes作为代理 我在日志中看到的是以下内容: [2012年7月11日11:39:46]调试[] AbstractPollingMessageListenerContainer.java:313-收到的消息 来自使用者的[class com.tibco.tibjms.TibjmsObjectMessage]类型 会话的[QueueReceiver[queue=f2b.prototype.tracer.queue]] [com.tibco.tibjms。TibjmsSession@16c143] [2012年7月11日11:39:46]调试[]EndpointMessageListener.java:72- 端点[jmsTrace://queue:/user_dev/db/us/GTO/CIFramework/S001DEV/f2b.prototype.tracer.queue:queue] 使用者收到JMS消息:ObjectMessage={Header={ JMSMessageID={ID:db_us_GTO_CIFramework_S001DEV.20D84FDA9F769B1A97:3} JMSDestination={Queue[f2b.prototype.tracer.Queue]}JMSReplyTo={null} JMSDeliveryMode={PERSISTENT}jmsrelivered={false} JMSCorrelationID={null}JMSType={null}jmstiestamp={Wed Jul 11 10:53:48 CDT 2012}JMSExpiration={0}JMSPriority={4}}Properties={} Object={com.db.cif.tracer.jpa.model。JpaTraceEventMessage@1dfe3f}} [2012年7月11日11:39:46]调试[]JmsTemplate.java:464-正在执行 JMS会话上的回调:com.tibco.tibjms。TibjmsSession@16c143 [2012年7月11日11:39:46]调试[]JmsConfiguration.java:266-发送 JMS消息发送到:队列[f2b.prototype.tracer.Queue],消息为: ObjectMessage={Header={JMSMessageID={null}JMSDestination={null} JMSReplyTo={null}JMSDeliveryMode={PERSISTENT}JMSRepelivered={false} JMSCorrelationID={null}JMSType={null}jmstiestamp={0} JMSExpiration={0}JMSPriority={4}}属性={} Object={com.db.cif.tracer.jpa.model。JpaTraceEventMessage@16119a}} 试验 [2012年7月11日11:39:52]调试[] AbstractPollingMessageListenerContainer.java:313-收到的消息 来自使用者的[class com.tibco.tibjms.TibjmsObjectMessage]类型 会话的[QueueReceiver[queue=f2b.prototype.tracer.queue]] [com.tibco.tibjms。TibjmsSession@16c143] [2012年7月11日11:39:52]调试[]EndpointMessageListener.java:72- 端点[jmsTrace://queue:/user_dev/db/us/GTO/CIFramework/S001DEV/f2b.prototype.tracer.queue:queue] 使用者收到JMS消息:ObjectMessage={Header={ JMSMessageID={ID:db_us_GTO_CIFramework_S001DEV.20D84FDA9F769B1A97:4} JMSDestination={Queue[f2b.prototype.tracer.Queue]}JMSReplyTo={null} JMSDeliveryMode={PERSISTENT}jmsrelivered={false} JMSCorrelationID={null}JMSType={null}jmstiestamp={Wed Jul 11 10:53:50 CDT 2012}JMSExpiration={0}JMSPriority={4}}Properties={} Object={com.db.cif.tracer.jpa.model。JpaTraceEventMessage@1d81bc5}} [2012年7月11日11:39:52]调试[]JmsTemplate.java:464-正在执行 JMS会话上的回调:com.tibco.tibjms。TibjmsSession@16c143 [2012年7月11日11:39:52]调试[]JmsConfiguration.java:266-发送 JMS消息发送到:队列[f2b.prototype.tracer.Queue],消息为: ObjectMessage={Header={JMSMessageID={null}JMSDestination={null} JMSReplyTo={null}JMSDeliveryMode={PERSISTENT}JMSRepelivered={false} JMSCorrelationID={null}JMSType={null}jmstiestamp={0} JMSExpiration={0}JMSPriority={4}}属性={} Object={com.db.cif.tracer.jpa.model。JpaTraceEventMessage@3b09b4}}Apache camel 确认来自驼峰端点的JMS消息时出现问题,apache-camel,spring-jms,Apache Camel,Spring Jms,我有一个简单的Camel应用程序,可以跟踪JMS端点。我目前遇到一个问题,接收到的JMS消息似乎没有得到确认,它正在从队列中读取,而没有任何消息放在队列上,并且当前队列深度没有减少 你知道是什么导致了这个问题吗 追踪路线 SpringJMS配置 Spring端点配置 编辑: 这是使用Tibcomes作为代理 我在日志中看到的是以下内容: [2012年7月11日11:39:46]调试[] AbstractPollingMessageListenerContainer.java:313-收到的消息
我知道我在做傻事 我仔细查看了跟踪消息,意识到在我的上下文中启用了跟踪,从而跟踪了我的跟踪路径,从而形成了一个漂亮的无限循环
from("jms.tracer")
.id("openlink-input-trace")
.process(new Processor()
{
@Override
public void process(Exchange exchange) throws Exception
{
System.out.println("test");
}
});
<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>
<endpoint id="jms.tracer"
uri="jmsTrace:queue:${jms.openlink-tracer-queue.jndiname}" />