1. 双向连接 duplex="true" 10.2
2. 请注意,ActiveMQ代理配置中网络连接器和消息持久化配置的顺序很重要.网络连接,消息持久化和连接器
需要按照下面的顺序配置:
(1) 网络连接 -- 网络连接需要在消息存储之前建立好
(2) 消息存储 -- 需要在传输连接之前配置
(3) 传输连接 -- 应当是代理配置后最后配置的
3. 失效转移 连接静态集群 情况 4.5.1 末尾
正如将在第12章中讨论的那样,失效转移连接器在诸如高可用性和负载平衡等高级功能的实现中起到了举足轻重的作用.
4. 4.5 最后 点对点协议 可以启动多个嵌入式代理,并且这些代理之间可以自动连接,组成代理网络.
5. 主题 队列 区别
JMS 主题从一个 JMS 客户接收消息然后将这些消息分发给所有注册为主题监听者的 JMS 客户。相反,JMS 队列只将消息分发给
一个客户,不管有多少客户注册为队列监听者。如果两个或者多个客户注册到一个队列,同时一个消息存储在队列中,那么只有一
个客户能接收到这个消息。
JMS 规范没有规定哪个客户将接收这个消息。
6. 配置消息存储
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>
7. ActiveMQ 文档 Features > Persistence 里面有比较多有用内容
8. kahaDB存储的配置属性,5.2 最后 这个属性就是<kahaDB directory="${activemq.data}/kahadb"/>
中与directory类似的
9. 配置代理broker 元素中可以配置是否持久化
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<broker brokerName="test-broker" persistent="false" xmlns="http://activemq.apache.org/schema/core">
<transportConnectors>
<transportConnector uri="tcp://localhost:61635"/>
</transportConnectors>
</broker>
</beans>
persistent="false" 表示 不持久化消息,消息存储放到内存中..
通过代码 设置 非持久化存储 代理
import org.apache.activemq.broker.BrokerService;
public void createEmbeddedBroker() throws Exception
{
BrokerService broker = new BrokerService();
//configure the broker to use the Memory Store
broker.setPersistent(false);
//Add a transport connector
broker.addConnector("tcp://localhost:61616");
//now start the broker
broker.start();
}
10. 创建session的时候 设置 确认模式
Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
11. 缓存消息 (为消息队列 或者主题缓存消息) 就是将消息保存到内存中,不持久化到磁盘
12 为消息消费者缓存消息 缓存策略 5.6节(持久化 或 非持久化 的缓存策略)
ActiveMQ提供多种策略用来调优持久化消息以及缓存非持久化主题消费者的消息.
除了临时主题和ActiveMQ建议(advisory)主题,ActiveMQ消息代理在内存中缓存
所有的正在使用消息主题中的消息.
ActiveMQ不会通过上述方式为消息队列缓存消息,因为通常情况下队列会保存所有发送给它的消息.
所以 策略配置中,只有为主题配置策略
HE ACTIVEMQ FIXED SIZE SUBSCRIPTION RECOVERY POLICY
ACTIVEMQ固定尺寸订阅恢复策略
THE ACTIVEMQ FIXED COUNT SUBSCRIPTION RECOVERY POLICY
固定数量策略
THE ACTIVEMQ QUERY-BASED SUBSCRIPTION RECOVERY POLICY
基于查询的策略
HE ACTIVEMQ TIMED SUBSCRIPTION RECOVERY POLICY
时间策略
THE ACTIVEMQ LAST IMAGE SUBSCRIPTION RECOVERY POLICY
最终映像策略
THE ACTIVEMQ NO SUBSCRIPTION RECOVERY POLICY
无缓存策略