2010-12-02 26 views
2

在基于HornetQ引擎的应用程序中,我打算创建多个生产者和消费者。 我了解到,我应该尽可能多使用资源,谢谢this page我应该在基于HornetQ的应用程序中只使用一个Session吗?

这是否意味着,对于我的应用程序,我应该创建一个和一个ConnectionFactory,一个Connection,一个会话,然后(使用此会话对象)创建尽可能多的生产者/消费者?

这不应该是困难的,但我不知道这是正确的做法。

回答

9

拇指最小的资源使用的最佳准则是使用结构最少,同时尽可能其余线程安全的。因此:

  1. 连接工厂是线程安全的:每个JMS服务器(或每目的地类型主题和队列JMS服务器之一)
  2. 连接是线程安全的:根据不同的应用架构,您可以使用一个连接,但我不会向后弯曲做这件事。
  3. 会话,会话下的所有结构都是线程安全的:你需要每个线程并发一个会话(或每次交易,如果你认为它这样)。

基于此,希望您可以在优雅的架构和低资源利用率之间取得平衡。

+0

端Q,是安全的,从同一个会话创建2个生产者和在不同的线程在同一时间有可能使用它们? – 2011-01-03 00:45:48

相关问题