Apache camel 已完成http4组件范围内的交换
我有一个简单的驼峰路由,用于消费来自ActiveMQ的消息,并将其处理和转发到Rest webservices:Apache camel 已完成http4组件范围内的交换,apache-camel,Apache Camel,我有一个简单的驼峰路由,用于消费来自ActiveMQ的消息,并将其处理和转发到Rest webservices: from("activemq:MyQueue").process("MyProcessor").to("http4:uri"); 我从activemq组件在connectionfactory中配置concurrentConsumers=100 在文件中: if asyncConsumer is disabled(defau
from("activemq:MyQueue").process("MyProcessor").to("http4:uri");
我从activemq组件在connectionfactory中配置concurrentConsumers=100
在文件中:
if asyncConsumer is disabled(default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue
问题:
在我的路线中,每封邮件的交换何时被完全处理?http被调用方收到http响应后?如果是这种情况,我假设,我的路线配置意味着:
Hadi每个jms线程都同时运行,而彼此不知道。在您的示例中,同时处理100个线程而不会被阻止。您不需要计算http组件的线程数,因为这是通过jms线程从头到尾完成的。如果禁用asyncConsumer(默认),我可以依赖此语句然后,在JmsConsumer从JMS队列中拾取下一条消息之前,交换被完全处理?当前messageExchange完成后,每个使用者是否真的使用队列中的下一条消息?这是我想要的功能。我确实需要配置connectionsPerRoute,因为默认值是20。我有100个消费者,每个消费者都应该将消息并发路由到一个http uri。所以我需要connectionsPerRoute=100。如果我和20个呆在一起,我可以看到在日志中等待。