在基于HornetQ引擎的应用程序中,我打算创建多个生产者和消费者。
我了解到,我应该尽可能地重用资源,这要归功于这一页.
这是否意味着,对于我的应用程序,我应该创建一个且恰好一个 ConnectionFactory、一个 Connection、一个 Session,然后(使用此 Session 对象)创建所需数量的生产者/消费者?
这应该不难,但我不确定这是否是正确的方法。
最小资源使用的最佳经验法则是使用尽可能少的构造,同时保持线程安全。因此:
- 连接工厂是线程安全的:每个 JMS 服务器一个(或者主题和队列的每个目标类型每个 JMS 服务器一个)
- 连接是线程安全的:根据应用程序体系结构,您也许可以使用一个连接,但我不会竭尽全力来做到这一点。
- 会话和会话下面的所有构造都是NOT线程安全:每个并发线程(或者如果您这样考虑的话,每个事务)将需要一个会话。
基于此,希望您能够在优雅的架构和低资源利用率之间取得平衡。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)