java - 使用 ActiveMQ 5,是否可以在内存和网络连接中配置代理?

标签 java jms activemq

我们有一组应用程序,我想使用 JMS 在它们之间进行消息传递。现在,我们的应用程序都与 ActiveMQ 代理建立 TCP 连接。是否可以让位于同一主机上的 15 个左右的应用程序使用 inVM 连接或使用某种形式的共享内存,而离开该主机的其余 20 个左右的应用程序仍然使用 TCP?

基本上,我想结合使用 inVM 配置的代理和使用 TCP 配置的代理。我可以这样做吗,还是必须进行网桥配置?

最佳答案

inVM 连接仅在应用程序位于同一 JVM 中时才有效。

如果它们在同一个盒子上但在不同的进程中,那么 TCP 是最好的选择。大多数操作系统将使用高效的 TCP 实现,因此您实际上不会进入网络以在本地进程之间进行通信。

消息传递是基于流的,因此共享内存对 ActiveMQ 没有真正帮助。如果您的应用程序与代理位于同一 JVM 中,那么它实际上只是 TCP 或 VM 的选择

关于java - 使用 ActiveMQ 5,是否可以在内存和网络连接中配置代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/290928/

相关文章:

java - 如何确定 JMS 连接是否存在?

java - ActiveMQ 上的异常 : org. mule.module.launcher.DeploymentStartException : ClassNotFoundException: org. apache.activemq.ActiveMQConnectionFactory

spring - 消息发送后立即检索 JMS header 而不消耗消息

java - java中的翻转字符

java - 将单词分解为音节

java - 高枕无忧 - 使用 RestAssured 进行测试时出现操作超时错误。但相同的端点在浏览器中工作正常

java - : A single JMS topic with a switch statement, 或个别主题哪个提供更好的性能?

java - 删除组合框作为 jtable 单元格的单元格编辑器

java - JMS - 从消息驱动 bean 同步发送消息

java - 有没有办法在连接到 Active MQ 队列时让 Spring JMS 监听器有初始延迟?