关于保险丝的JMS问题

时间:2012-12-13 13:52:51

标签: jms apache-camel fuse

1.png 2.png 我开发了一个示例代码来测试保险丝上的主题和持久主题,我遇到了一个问题。

示例代码说明 我的示例代码由3个bundle组成,每个bundle都有自己的camel上下文和它自己的路由,所以我有3个bundle中的3个路由如下:

bundle1 route:从文件系统中使用文件并将其发送到队列

<route id="producer-route">
    <from uri="file:D://camel_test"/>
    <to uri="activemq:queue:service.queue"/>
</route>

bundle 2 route:使用前一个队列中的消息并将其发送到主题

<route id="router-route">
    <from uri="activemq:queue:service.queue"/>
    <to uri="activemq:topic:router.topic"/>
</route>

bundle3 route:使用上一主题的消息并将其发送到文件系统

<route id="consumer-route">
<from uri="activemq:topic:router.topic?clientId=consumer&amp;durableSubscriptionName=bar"/>
<to uri="file:D://camel_test2"/>

当我将文件放在第一个文件夹“D:// camel_test”中时,示例代码在95%的情况下成功运行,文件从“D:// camel_test”文件夹中消失并移到第二个文件夹文件夹“D:// camel_test2”

问题说明 •有时候,5%的情况,第二条路径没有使用该文件,并且在检查jconsole上的使用者和队列时,我发现 o队列的注册消费者,如附带的jconsole屏幕截图(2.png)所示。 o队列的入队计数增加,而队列的出队计数为零,如附带的jconsole屏幕截图(1.png)所示。

•在许多情况下会出现此问题,但最重现的情况是在重新启动Fuse ESB后。

•问题没有出现在每次保险丝重启时,多次样品代码在保险丝重启后成功运行没有问题。

重要提示:刷新bundle2和bundle3后,问题始终会消失。

你能告诉我吗?

0 个答案:

没有答案