为什么JMS规范的设计方式使得当创建Sessions的Connection对象是线程安全的(由线程共享)时,并发线程不能使用Session对象?
JMS 2.0规范
第25页
限制对会话的并发访问有两个原因.
首先,会话是支持事务的JMS实体.实现多线程的事务非常困难.
其次,会话支持异步消息消费.重要的是JMS不要求用于异步消息消费的客户端代码能够处理多个并发消息.
此外,如果已经与多个异步使用者建立了会话,则不必强制客户端处理这些单独的使用者同时执行的情况.这些限制使JMS更易于用于典型客户端.更复杂的客户端可以通过使用多个会话来获得所需的并发性.在经典API和特定于域的API中,这意味着使用多个会话对象.在简化的API中,这意味着使用多个JMSContext对象.
| 归档时间: |
|
| 查看次数: |
2561 次 |
| 最近记录: |