JMSエンドポイントにトレースしている単純なCamelアプリケーションがあります。現在、受信したJMSメッセージが確認応答されていないように見える問題が発生しています(メッセージが送信されずにキューから読み取られており、現在のキューの深さが減少していません)。
この問題の原因について何か考えはありますか?
トレースルート
from("jms.tracer")
.id("openlink-input-trace")
.process(new Processor()
{
@Override
public void process(Exchange exchange) throws Exception
{
System.out.println("test");
}
});
SpringJMS構成
<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 EndpointConfig
<endpoint id="jms.tracer"
uri="jmsTrace:queue:${jms.openlink-tracer-queue.jndiname}" />
編集:
これは、ブローカーとしてTibcoEMSを使用しています。
ログに表示されるのは次のとおりです。
[2012 Jul 11 11:39:46] DEBUG [](AbstractPollingMessageListenerContainer.java:313)-コンシューマー[QueueReceiver [queue=f2b.prototype.tracer.queue]からタイプ[classcom.tibco.tibjms.TibjmsObjectMessage]のメッセージを受信しました]セッションの[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:キュー]コンシューマーがJMSメッセージを受信しました: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}}プロパティ={}Object = {com.db.cif .tracer.jpa.model.JpaTraceEventMessage @1dfe3f}}
[2012 Jul 11 11:39:46] DEBUG [](JmsTemplate.java:464)-JMSセッションでコールバックを実行しています:com.tibco.tibjms.TibjmsSession@16c143
[2012 Jul 11 11:39:46] DEBUG [](JmsConfiguration.java:266)-JMSメッセージを次の宛先に送信しています: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}}プロパティ={} Object ={com.db.cif.tracer.jpa.model.JpaTraceEventMessage@16119a}}
テスト
[2012 Jul 11 11:39:52] DEBUG [](AbstractPollingMessageListenerContainer.java:313)-コンシューマー[QueueReceiver [queue=f2b.prototype.tracer.queue]からタイプ[classcom.tibco.tibjms.TibjmsObjectMessage]のメッセージを受信しました]セッションの[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:キュー]コンシューマーがJMSメッセージを受信しました: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}}プロパティ={}Object = {com.db.cif .tracer.jpa.model.JpaTraceEventMessage @1d81bc5}}
[2012 Jul 11 11:39:52] DEBUG [](JmsTemplate.java:464)-JMSセッションでコールバックを実行しています:com.tibco.tibjms.TibjmsSession@16c143
[2012 Jul 11 11:39:52] DEBUG [](JmsConfiguration.java:266)-JMSメッセージを次の宛先に送信しています: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}}プロパティ={} Object ={com.db.cif.tracer.jpa.model.JpaTraceEventMessage@3b09b4}}