Glassfish上的单螺纹MDB

时间:2013-12-09 13:23:23

标签: java multithreading glassfish message-driven-bean single-threaded

我在Glassfish 3.1.2.2上运行了许多MDB。 由于其中一个MDB的工作性质,我需要使其成为单线程。我查看了Tuning Guide,虽然将最大池大小设置为1确实解决了问题,但这也意味着所有其他MDB都是单线程的。我真正想要实现的是特定的MDB是单线程的,同时允许其他MDB是多线程的。

1 个答案:

答案 0 :(得分:2)

通过glassfish-ejb-jar.xml部署描述符很容易实现:

<glassfish-ejb-jar>
  <enterprise-beans>
    <ejb>
      <ejb-name>YourMDB</ejb-name>
      <bean-pool>
        <resize-quantity>1</resize-quantity>
        <max-pool-size>1</max-pool-size>
        <steady-pool-size>1</steady-pool-size>
      </bean-pool>
    </ejb>
  </enterprise-beans>
</glassfish-ejb-jar>

无论全局池大小是什么,上面的部分都会将处理bean的数量严格限制为1。这样您就可以轻松地微调系统设置。