长期存在的JMS会话。保持JMS连接/ JMS会话始终是一个坏习惯吗? [英] Long lived JMS sessions. Is Keeping JMS connections / JMS sessions always opened a bad practice?

查看:140
本文介绍了长期存在的JMS会话。保持JMS连接/ JMS会话始终是一个坏习惯吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

保持JMS连接/会话/消费者总是打开一个坏习惯吗?

Is keeping JMS connections / sessions / consumer always open a bad practice?

代码草案示例:

// app startup code

ConnectionFactory cf = (ConnectionFactory)jndiContext.lookup(CF_JNDI_NAME);
Connection connection = cf.createConnection(user,pass);
Session session = connection.createSession(true,Session.TRANSACTIONAL);
MessageConsumer consumer = session.createConsumer(new Queue(queueName));
consumer.setMessageListener(new MyListener()); 
connection.start();
connection.setExceptionListener(new MyExceptionHandler()); // handle connection error


// ... Message are processed on MyListener asynchronously ...


// app shutdown code

consumer.close();
session.close();
connection.close();

有什么建议可以改善这种JMS使用模式吗?

Any suggestions to improve this pattern of JMS usage?

推荐答案

在处理长期连接时,这是一种非常常见且可接受的做法。对于许多JMS服务器,实际上最好在每次需要时创建新连接。

That is a very common and acceptable practice when dealing with long lived connections. For many JMS servers it is in fact preferable to creating a new connection each time it is needed.

这篇关于长期存在的JMS会话。保持JMS连接/ JMS会话始终是一个坏习惯吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆