ActiveMQ--配置端口
阅读原文时间:2023年07月11日阅读:1

配置端口

一般最常用的URI是连接到代理的端口URI,通常为TCP或VM端口。

要注意空格:所有的URI都是基于java.net.URI类,它并不允许使用空格。所以,如果你使用failover:或者static:URI,在逗号内不要留有空白。

虚拟机端口

虚拟机端口允许客户可以在虚拟机内部互相连接而不用使用其上的网络连接。这个连接不是socket连接,而是直接使用方法调用来增加嵌入式消息系统的高性能。

使用虚拟机的第一个客户将用来引导一个嵌入的代理,随后连接将附到到相同的代理。一旦连接到代理的所用虚拟机被关闭则嵌入式代理也将被关闭。

更多的信息请查阅虚拟机端口参考

TCP端口

TCP端口允许客户使用TCP socket连接一个远程ActiveMQ。

更多的信息请查阅TCP端口参考

NIO端口

除去使用新的I/O包其余的和TCP端口一样,这也许会提供更好的性能。注意java NIO包不要和IBM的AIO4J包引起冲突。

从TCP切换到NIO只需要简单的更改URI配置方案,下面是一个定义NIO的XML配置文件。

SSL端口

允许你通过TCP使用SSL(通过网络通道的信息进行加密)。

更多的信息请查阅SSL端口参考

NIO SSL端口

通过NIO实现SSL传输。这允许你使用一个代理实例可以连接大量的SSL客户端。这只是服务端端口选项。

在客户端使用nio+ssl端口URL会初始化常规SSL端口。

对等网络端口

这个端口提供用户使用ActiveMQ的端对端网络。其实它使用虚拟机端口建立本地代理的连接,本地代理建立网络配置连接到另一端的嵌入代理。

更多信息请参阅对等网络端口参考

UDP端口

允许你通过UDP进行交谈。

更多的信息请查看UIP端口参考

组播端口

允许你通过组播进行交谈。

更多的信息请参阅组播端口参考

HTTP和HTTPS端口

允许ActiveMQ客户和代理通过HTTP建立通道。如果客户不是JMS,你也许想知道REST或者Ajax支持。

更多的信息请查阅HTTP和HTTPS端口参考。

WebSockets端口

这个端口使用HTML5WebSockets来和代理交互信息。更多的信息请查阅WebSockets端口参考

你可以通过URI语法进行其他特性的一些配置。

连接配置URI

任何ActiveMQ JMS连接可以使用URL来进行配置或者直接在ActiveMQConnectionFactory或者ActiveMQConnection对象中设置属性。

目标选项

你可以使用URI语法来配置不同的目标选项

代理配置URI

你能使用代理配置URI来配置嵌入式代理,也可以在java代码中使用BrokerFactory的helper,或者使用activemq外壳脚本。更多的信息请查阅如何运行代理

配置Wire格式

通过网络端口传输编组消息推荐使用OpenWire格式,这也是可配置的。

详细信息请参阅配置wire格式

通过URI可以配置更高级的协议。

故障切换端口

故障切换端口层从新连接优先其他端口。这曾经用于ActiveMQ 3。它的配置语法允许你指定许多复合的URI。故障切换端口随机选择一个复合URI来尝试建立连接。如果不成功,则从URI列表中挑一个建立新的连接。

详细的信息请查阅故障切换端口参考

扇出端口

扇出端口层在其他端口的顶部从新连接并复制逻辑。它用于复制命令到多个代理中。

更多的信息请参阅扇出端口参考

通常使用TCP端口的时候你想查找并定位到有效的代理上。从使用、说法和组播上来说是不同的。使用TCP作为主要的通信方式而不是组播,发现功能纯粹用于发现代理的位置。

发现端口

发现端口工作起来就像可靠连接的端口一样,只是它使用发现代理来定位要连接的URI列表。

更多信息请查看发现端口参考

零配置端口

零配置端口可以提供发现并向发现端口一样工作,但是它是基于发现机制使用的是自己的组播方式(这允许你配置精确的组播地址和端口),

更多的信息请查看零配置端口参考

服务器端选项

这有许多选项组成,它们用于更改服务器端的行为。

属性名

缺省值

描述

uri

null

和端口进行绑定

name

null

端口连接实例名

discoveryURI

null

如果设置了,客户连接的组播发现地址用于发现代理。

enableStatusMonitor

false

监视连接来决定是否要阻塞。

updateClusterClients

false

启用将更新更改代理群的客户连接

rebalanceClusterClients

false

通过群拓扑更改自动从新平衡客户端。

updateClusterClientsOnRemove

false

如果代理从群中删除将更新代理。

updateClusterFilter

null

逗号分隔的正则表达式,名称匹配模板的代理将会进行客户更新。

注意:红色的属性只对版本5.4有效。

配置示例: