当前位置:  开发笔记 > 编程语言 > 正文

长期存在的JMS会话.保持JMS连接/ JMS会话总是打开一个坏习惯吗?

如何解决《长期存在的JMS会话.保持JMS连接/JMS会话总是打开一个坏习惯吗?》经验,为你挑选了3个好方法。

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

代码草案示例:

// 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使用模式吗?



1> James Strach..:

同意.以下是有关如何有效使用JMS的一些好技巧,其中包括保持连接/会话/生产者/消费者.

如果您对最大化性能感兴趣,您可能还想检查有关使用事务的建议.



2> John Meagher..:

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



3> Shashi..:

保持连接/会话/生产者/消费者长时间不打开的选择应该基于生产者/消费者发送/接收消息的频率.

如果生产者发送或消费者经常收到消息,那么连接/会话/生产者/消费者应该保持打开状态.另一方面,如果消息发送/接收不频繁,那么保持这些JMS对象打开将消耗系统资源(如套接字)是不好的.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有