ActiveMQ添加密码
在apache-activemq-5.11.1\conf\activemq.xml中
在上图所示位置插入红框的内容即可,文字版如下:
<plugins>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="aaa" password="bbb" groups="users,admins"/>
</users>
</simpleAuthenticationPlugin>
</plugins>
账号:aaa
密码:bbb
java程序访问
java需要对此进行相应修改。如下,不清楚可以看上一篇:https://blog.csdn.net/j262176166/article/details/87967616
//第一步 建立ConnectionFactory工厂对象,需要填入用户名和密码以及要链接的地址,均使用默认即可,默认端口为"tcp://localhost:61616"
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
"aaa", "bbb","tcp://localhost:61616");
注意:生产者与消费者均需修改!
ActiveMQ使用事物
想要使用事物,只需要在session获取时候改为Boolean.TRUE
Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
并添加提交即可
session.commit();
ActiveMQ签收模式
AUTO_ACKNOWLEDGE:自动确认
CLIENT_ACKNOWLEDGE:客户端手动确认
DUPS_OK_ACKNOWLEDGE:自动批量确认
SESSION_TRANSACTED:事务提交并确认
AUTO_ACKNOWLEDGE:自动确认,后台已经写好返回给ActiveMQ的确认信息
CLIENT_ACKNOWLEDGE:客户端手动确认,需要调用下面方法返回确认信息,否则消息仍会在ActiveMQ中,ActiveMQ认为其未消费。
//手动去签收消息,另起一个线程(TCP)去通知我们的MQ服务确认签收
textMessage.acknowledge();