0

当您可以手动创建队列或手动执行异步功能时,为什么我们使用 JMS?JMS 具体做了哪些我们无法通过普通代码实现的功能?

4

3 回答 3

2

为什么我们要特别使用 JMS?

因为:

  • 使用 JMS 比“手动”重新发明轮子更好地利用开发人员的时间,并且
  • 当您完成后,下一个人必须维护的自定义代码会更少(可能较差)。

另一方面,如果您的应用程序要求足够简单,以至于您只需要内部 JVM 队列和 java.util / java.util.concurrent 队列类,那么您可能不应该使用 JMS。


JMS 具体做了哪些我们无法通过普通代码实现的功能?

技术上/理论上什么都没有,但见上文。

于 2013-03-23T02:55:01.490 回答
1

JMS 类似于 JDBC。它允许您编写使用消息传递框架的代码,而无需直接使用专有类。因为您的代码使用公共类/接口,所以可以在不更改所有代码的情况下更改消息传递实现。如果您想从 MQ 更改为 HornetQ,或更改执行应用程序代码的应用程序容器,则无需更改大部分代码发布/消费消息。

于 2013-03-23T04:36:52.657 回答
0
  • 它简化了编码(即,当您可以手动完成时,您不需要开发数据库引擎)
  • 它将代码与环境设置分开(即,当您改变环境时,您不需要重新编译/部署——只需配置它)
  • 可靠性、顺序消息传递、QoS、优先级等
于 2013-03-23T02:58:45.977 回答