|
|
1
10
您应该在客户机代码javax.jms.exceptionlistener中实现。您需要一个名为OnException的方法。当客户端的连接丢失时,您应该得到一个JMSException,并且这个方法将被自动调用。唯一需要注意的是,如果您有意与jbossMQ断开连接,这也会引发异常。 某些代码可能如下所示:
在“已建立连接”代码中,您将实现
我们在jbossmq中使用这种方法已经很多年了,而且效果很好。我们从未遇到过JMS客户机在跳跃jbossmq或失去网络连接后未重新连接的问题。 |
|
|
2
8
我强烈建议你使用 Spring abstractions for JMS such as the MessageListenerContainer 为您处理重新连接、事务和池。您只需要提供一个messageListener,并用connectionFactory配置messageListenerContainer,容器就可以完成其余的工作。 |
|
|
3
6
如果你只是一个倾听者 不 除连接设置以外的其他JMS调用,则“onException()处理程序”的答案是正确的。 如果在代码中执行任何JMS调用,仅仅使用onException()回调是不够的。问题从JMS提供程序中继到应用程序 任何一个 通过对JMS方法调用的异常 或 通过onException()回调。并非两者兼而有之。 因此,如果您从代码中调用任何JMS方法,那么如果您在这些调用上得到任何异常,您还需要调用该重新连接逻辑。 |
|
|
4
1
来自个人经验的建议。 升级到 JBoss Messaging . 我已经在生产中看到它4个月了,没有问题。它具有完全透明的故障转移功能——以及许多其他功能。 另外,如果你真的要和春天一起去,就要 very careful 与 JmsTemplate . |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |