之前写的关于spring websocket的博客,使用ActiveMQ没有开启用户和密码认证,实际项目中访问MQ肯定是需要认证的。可以再activemq.xml文件的<broker>元素增加下面的配置,开启用户名和密码认证:
<plugins>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users,admins"/>
</users>
</simpleAuthenticationPlugin>
</plugins>
然后修改spring的websocket xml的配置:
<websocket:stomp-broker-relay prefix="/topic,/queue"
relay-host="127.0.0.1" relay-port="61613" system-login="system" system-passcode="manager" client-login="system" client-passcode="manager"/>
这里需要注意:必需同时设置system-login和client-login的用户名和密码,不然会报下面的错误。