ActiveMQ+MQTT+WebSocket

ActiveMQ支持MQTT协议并且在JMS和MQTT客户端之间自动进行消息转换。

为了是ActiveMQ支持MQTT协议,可以在activemq.xml配置文件中做以下配置:

name="mqtt+nio" uri="mqtt+nio+ssl://localhost:1883"/>


当一个客户端连接MQTT服务器的时候,会发送心跳信号来检测连接是否有效,通常心跳信号默认的时间间隔为10秒钟。 ActiveMQ默认会将连接的有效期设置为 1.5*10=15秒

但是,如果客户端设置keep-alive为0的时候,ActiveMQ会一直认为客户端连接有效,而不会自动关闭。这种情况会导致连接的泄露,因此在服务端也设置一个默认的有效连接时间

是必要的。

下面的参数则是在服务端设置一个连接有效时间:

mqtt://localhost:1883?transport.defaultKeepAlive=60000"/>



ActiveMQ9.0版本以后,提供了对WebSocket协议的支持