下面是在服务器启动期间执行的代码,其中MessageProcessor的receive方法不断监听tibco总线主题。这里的问题是很少有请求被丢弃,并且它是不可复制的。它偶尔发生。知道为什么骆驼会拒绝来自Bus的请求吗?
reg.put("MessageProcessor", new MessageProcessor());
// Create the context and configure route
context = new DefaultCamelContext(reg);
context.addRoutes(new RouteBuilder() {
public void configure() {
from(
"bus://"
+ subject
+ "?poolSize="
+ poolSize
+ "&account=busaccount&credentials=buscredentials&policy=buspolicy")
.threads(Integer.parseInt(minPoolSize),
Integer.parseInt(maxPoolSize))
.to("bean:MessageProcessor?method=receive(Exchange)");
}
});
// Start listening
context.start();
注意:我们猜测,当请求数>上面配置的maxPoolSize时,会发生丢弃。看起来那不是原因。我们已经在Jboss standalone.xml中修改了short-running-threads
和long-running-threads
,但其值(200)与maxPoolSize(50)不匹配。您认为它们应该相同吗?
我们想知道为什么骆驼放弃了来自Bus的那些请求并进行修复。