ActiveMQ安全配置
ActiveMQ也可以对各个主题和队列设置用户名和密码,配置如下:
<plugins>
<!-- Configure authentication; Username, passwords and groups -->
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="system" password="manager" groups="users,admins"/>
<authenticationUser username="user" password="password" groups="users"/>
<authenticationUser username="guest" password="password" groups="guests"/>
<authenticationUser username="testUser" password="123456" groups="testGroup"/>
</users>
</simpleAuthenticationPlugin>
<!-- Lets configure a destination based authorization mechanism -->
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue="queue.group.uum" read="users" write="users" admin="users" />
<authorizationEntry queue=">" read="admins" write="admins" admin="admins" />
<authorizationEntry queue="USERS.>" read="users" write="users" admin="users" />
<authorizationEntry queue="GUEST.>" read="guests" write="guests,users" admin="guests,users" />
<authorizationEntry queue="TEST.Q" read="guests" write="guests" />
<authorizationEntry queue="test" read=" testGroup " write=" testGroup " />
<authorizationEntry topic=">" read="admins" write="admins" admin="admins" />
<authorizationEntry topic="USERS.>" read="users" write="users" admin="users" />
<authorizationEntry topic="GUEST.>" read="guests" write="guests,users" admin="guests,users" />
<authorizationEntry topic="ActiveMQ.Advisory.>" read="guests,users ,testGroup" write="guests,users ,testGroup " admin="guests,users ,testGroup "/>
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
ActiveMQ中NetWorkConnctor属性
<networkConnector name="bridge" uri="static://(tcp://host1:61616)"
duplex="true" conduitSubscriptions="true"
decreaseNetworkConsumerPriority="false" >
</networkConnector>
属性名称 | 默认值 | 描述 |
Duplex | True | 表示双向可以通信 |
ConduitSubscriptions | False | 表示每个Consumer 上都会收到所有的发送的消息 |
DynamicOnly | false | 消息将被动态的转接的在其他Broker的consumer上 |
PrefetchSize | 1000 | 指定消息的数量 |
ConduitSubscriptons | true | |
excludedDestinations | 指定排除的地址 | |
DynamiccallyincludedDestinations | 包括的地址 | |
StaticcallyincludedDestinations | 静态的包括消息地址 | |
DecreaseNetwordConsumerPriority | false | 消费者优先权 |
NetworkTTl | 1 |
ActiveMQ消息游标
当producer 发送的持久化消息到达broker 之后,broker 首先会把它保存在持久存储中
接下来,如果发现当前有活跃的 consumer,而且这个consumer 消费消息的速度能跟上producer 生产消息的速度,那么ActiveMQ 会直接把消息传递给 broker 内部跟这个consumer关联的 dispatch(派遣、调度) queue;
如果当前没有活跃的 consumer或者 consumer 消费消息的速度跟不上producer 生产消息的速度,那么 ActiveMQ 会使用Pending Message Cursors 保存对消息的引用。在需要的时候,Pending Message Cursors 把消息引用传递给broker 内部跟这个consumer关联的 dispatch queue