java – 为什么选择JMS进行异步解决?为什么比一个简单的实体bean更好?

在我参与的大多数项目中,异步解决方案的选择一直是很多讨论的源泉…

每次单个实体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.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...