java - 比较 : JMX vs JMS

标签 java jms messaging jmx

<分区>

我认为 JMX 是一种规范,而 JMS 更像是一种实现。我被问到两者之间的区别,发问者不同意这一点。我阅读了它并了解两者都是规范。并看到 “JMX 是一个监控规范,而不是发布/订阅规范。你可以打败它 进入发布/订阅模型,但这更多是 JMS 应该做的 对你来说。”这到底是什么意思?它们的区别是什么,什么时候选择一个或另一个以及两者兼而有之。

最佳答案

引自维基百科。

"The Java Message Service (JMS) API is a Java Message Oriented Middleware (MOM) API for sending messages between two or more clients."

简单来说:就是传递消息。

"Java Management Extensions (JMX) is a Java technology that supplies tools for managing and monitoring applications, system objects, devices (such as printers) and service-oriented networks."

简单来说:它是用来监控事物的。

What is their difference and when to go for one or the other and both.

如果您阅读以上内容,那应该是不言自明的。

  • 当您构建需要在不同计算机上的不同组件(通常)之间传递(可靠、健壮、有弹性)消息的系统时,您会使用 JMS。

  • 在为系统实现监控时,您会使用 JMX。

(显然两者都有替代方案。)


I saw "JMX is a monitoring spec, not a publish/subscribe spec. You could beat it into a publish/subscribe model but that is more what JMS is supposed to do for you." What does this exactly mean?

不看上下文很难,但我认为这是对其他人建议 JMX 可以用于支持发布-订阅的回应 ...某物。写这篇文章的人似乎在说“坏主意:使用 JMS”。

如果断章取意的话,那是毫无意义的。我建议不要试图提取深层含义....

关于java - 比较 : JMX vs JMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38671985/

相关文章:

java - 如何在weblogic 10.3服务器上的spring中延迟JMS消息

java - 我应该使用什么消息传递模式来处理和返回来自休息请求的响应?

java - MQ session .CLIENT_ACKNOWLEDGE

messaging - NServiceBus 是否适合跨平台集成?

windows - 更改 cookie 文件后 RabbitMQ 节点身份验证失败

java - 处理模板中的重复值

java - Android:查看连接到我的wifi的所有设备

java - 在 Android Studio 中实现 Recyclerview 时应用程序崩溃

java - 如何使用 JasperReports API 以编程方式为交替行指定不同的背景颜色

java - JMS 队列是 Java Util 队列的实现吗? Java 包中使用 Java Util Queue 实现的类有哪些?