在我参与的大多数项目中,异步解决方案的选择一直是很多讨论的源泉…
每次单个实体bean足以管理一个队列:我们只需将一个消息(ticket)存储在一个表中,并且处理cron将排队队列.这个简单的解决方案具有非常简单的优点,它基于数据库的事务上下文,并且可以在执行期间管理接收到的消息的状态.
因此,我提出以下问题:
1)我们有什么兴趣使用JMS? JMS的好处是什么?
2)哪种情况更喜欢JMS与实体bean?
感谢您的回应和反馈!
解决方法
1) What interest we have to use JMS?
What are the benefits of JMS ? 2) In
which situation prefering JMS versus
entity bean ?
只要只有一个消费者,你的方法很好.否则,它将需要一个锁定方案,以便相同的消息不会传送两次等等.这是JMS提供的开箱即用:与JMS代理交易生产和消费,管理与多个消费者/生产者的所有交付问题.
JMS的其他优点是服务和管理的质量,例如重新传递尝试,死信息队列,负载管理,可扩展性,集群,监控等.
JMS还支持发布划分或点对点.
这有点像比较JDBC语句在数据库中插入一行与完全ORM.两者都可以在数据库中插入一行,但是ORM会提供更多的东西,再加上你不会重新发明轮子来处理低级别的问题…(类比不是很好但很好)
我建议你看看FAQ.