2

在我执行 routing-to-a-JMS-queue 时,如下所示

.inOut("jmsGF:queue:INQueue?replyTo=queue:OUTQueue")

我观察到 Camel 需要大约 900 毫秒才能真正将消息发送到 JMS 队列。有没有办法减少这个过程/配置时间?谢谢。

2012-04-30 14:51:22,098 SendProcessor Endpoint[jmsGF://queue:INQueue?replyTo=queue:OUTQueue]
2012-04-30 14:51:22,833 Configuration$CamelJmsTemplate - Executing callback on JMS Session: ConnectionID=7685453259737775872, SessionID=7685453259737832448
2012-04-30 14:51:22,973 JmsConfiguration - Sending JMS message to: Oracle GlassFish(tm) Server MQ Destination
4

2 回答 2

0

如果您使用 Camel 2.9,那么您可以使用排他的 replyTo 队列,这也更快。在 Camel JMS wiki 页面上查看有关通过 JMS 请求/回复的详细信息。它还指出了如何提高旧版本的性能,以及何时不能对队列使用独占回复。 http://camel.apache.org/jms

于 2012-05-02T09:30:35.523 回答
0

如您所见,关键是使用某种形式的 JMS 生产者连接的连接池

另外,请注意将 Spring CachingConnectionFactory 用于消费者连接,因为它可能会导致问题(尤其是轮询消费者等)

有关一般信息,请参阅此页面:http: //camel.apache.org/activemq.html

于 2012-05-01T16:04:04.637 回答