消息队列

安装:
1、解压
apache-activemq-5.15.8-bin.rar

2、启动:进入解压目录activemqx.x/bin/win64/(JDK1.8+) (E:\Java\jdk1.6.0_32不支持)
双击activemq.bat

3、访问
http://localhost:8161/

4、activemq安全设置(管理后台密码):
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到

<bean id="securityConstraint" class="org.eclipse.jetty.http.security.Constraint">
        <property name="name" value="BASIC" />
        <property name="roles" value="admin" />
        <property name="authenticate" value="false" />
</bean>

将property name为authenticate的属性value=“false” 改为"true"

控制台的登录用户名密码保存在conf/jetty-realm.properties文件中,内容如下:

username: password [,rolename …]

admin: admin, admin

5、消息消费者密码认证(conf下)
1)credentials.properties:
activemq.username=system
activemq.password=manager
guest.password=password

2)在activemq.xml文件broker标签内加上

<plugins>
    <simpleAuthenticationPlugin>
	<users>
	<authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users,admins"/>
	<authenticationUser username="guest" password="${guest.password}" groups="guests"/>
	</users>
    </simpleAuthenticationPlugin>
</plugins> 

代码:(带用户名和密码的重载)
ConnectionFactory connectionFactory =
new ActiveMQConnectionFactory(“system”,“manager”,“tcp://localhost:61616”);

6、其他协议:ActiveMQ支持的client-broker通讯协议有:TCP、NIO、UDP、SSL、Http(s)、VM
TCP协议传输可靠性高,稳定性强
NIO更侧重于底层的访问操作,对同一资源可有更多的client调用和服务器端有更多的负载
UDP通常在快速数据传递和不怕数据丢失的场景中使用

在activemq.xml的下添加nio协议

代码:new ActiveMQConnectionFactory(“system”,“manager”,“nio://localhost:61618”);

会话:
createSession(paramA,paramB);

paramA 取值有:true or false 表示是否支持事务
paramB 取值有:Session.AUTO_ACKNOWLEDGE,Session.CLIENT_ACKNOWLEDGE,DUPS_OK_ACKNOWLEDGE,SESSION_TRANSACTED

createSession(paramA,paramB);
paramA是设置事务的,paramB设置acknowledgment mode
paramA设置为false时:paramB的值可为Session.AUTO_ACKNOWLEDGE,Session.CLIENT_ACKNOWLEDGE,DUPS_OK_ACKNOWLEDGE其中一个。
paramA设置为true时:paramB的值忽略, acknowledgment mode被jms服务器设置为SESSION_TRANSACTED 。
Session.AUTO_ACKNOWLEDGE为自动确认,客户端发送和接收消息不需要做额外的工作。
Session.CLIENT_ACKNOWLEDGE为客户端确认。客户端接收到消息后,必须调用javax.jms.Message的acknowledge方法。jms服务器才会删除消息。
DUPS_OK_ACKNOWLEDGE允许副本的确认模式。一旦接收方应用程序的方法调用从处理消息处返回,会话对象就会确认消息的接收;而且允许重复确认。在需要考虑资源使用时,这种模式非常有效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值