5.5内存消息仓库
程序员文章站
2022-04-30 23:09:38
...
内存消息仓库在内存中持有所有持久化消息。没有活跃的涉及超高速缓存,所以你不得不注意JVM和内存同时限制你的设置,是否足够容纳可能在同一时间存在的所有消息。
如果你知道代理将只是存储一定量的消息,内存消息仓库会是有用的,消息通常将快速消耗。但是对于小的想证明于JMS代理交互的测试用例它真的显示出它的威力,但是不要想招致消息仓库开始时间的花费,或者在测试结束后清理消息的麻烦事。
5.5.1配置内存仓库
配置内存仓库很简单。内存仓库是当代理的persistent属性被设置成false(默认情况为true)时使用的实现。这里有一个配置示例:
<?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>
通过在broker结点上设置persistent属性为false,这有效地告诉代理不要持久化消息文长时间的存储。替代的,ActiveMQ代理会在内存中持有消息知道消息被消费或者ActiveMQ代理被停止。
用内存仓库嵌入一个ActiveMQ代理是简单的。下面的示例通过内存仓库启动代理:
注意加粗的文字在代理对象上设置persistence为false。这和前面的XML配置示例是相同的。
现在没有现成工具箱ActiveMQ的消息仓库从一种转变为另一种。如果你想要为应用程序改变消息仓库,建议你在新的ActiveMQ代理上这样做,或者等待你的应用消费发送的所有消息,然后关闭ActiveMQ代理,为它重新配置消磁仓库,然后重启它。
这章讨论了在ActiveMQ中的实现消息持久化的多种消息仓库实现。另一个话题,讨论一些关于消息持久化在ActiveMQ代理中是一种为非持久主题主题订户更专业的ActiveMQ消息代理缓存案例。
如果你知道代理将只是存储一定量的消息,内存消息仓库会是有用的,消息通常将快速消耗。但是对于小的想证明于JMS代理交互的测试用例它真的显示出它的威力,但是不要想招致消息仓库开始时间的花费,或者在测试结束后清理消息的麻烦事。
5.5.1配置内存仓库
配置内存仓库很简单。内存仓库是当代理的persistent属性被设置成false(默认情况为true)时使用的实现。这里有一个配置示例:
<?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>
通过在broker结点上设置persistent属性为false,这有效地告诉代理不要持久化消息文长时间的存储。替代的,ActiveMQ代理会在内存中持有消息知道消息被消费或者ActiveMQ代理被停止。
用内存仓库嵌入一个ActiveMQ代理是简单的。下面的示例通过内存仓库启动代理:
import org.apache.activemq.broker.BrokerService;
public void createEmbeddedBroker() throws Exception {
BrokerService broker = new BrokerService();
//configure the broker to use the Memory Store
[b]broker.setPersistent(false);[/b]
//Add a transport connector
broker.addConnector("tcp://localhost:61616");
//now start the broker
broker.start();
}
注意加粗的文字在代理对象上设置persistence为false。这和前面的XML配置示例是相同的。
现在没有现成工具箱ActiveMQ的消息仓库从一种转变为另一种。如果你想要为应用程序改变消息仓库,建议你在新的ActiveMQ代理上这样做,或者等待你的应用消费发送的所有消息,然后关闭ActiveMQ代理,为它重新配置消磁仓库,然后重启它。
这章讨论了在ActiveMQ中的实现消息持久化的多种消息仓库实现。另一个话题,讨论一些关于消息持久化在ActiveMQ代理中是一种为非持久主题主题订户更专业的ActiveMQ消息代理缓存案例。
下一篇: 1+x静态网站搭建与开发选择题
推荐阅读
-
苹果ipad air2最新消息 内存增加至2GB!
-
消息称苹果明年发布新Apple TV:搭载A14+6GB内存
-
将支持VR?消息称iPhone 7内存将升至3GB
-
消息称MIUI 13正在内测:增加内存扩展技术等
-
小米10标配LPDDR5内存消息公布后 友商也宣布新机配LPDDR5
-
郑州富士康消息人士曝光5.5英寸iPhone 6后壳照
-
17. 信号量,共享内存和消息队列
-
flash cs5.5 错误,"0x047063f9" 指令引用的 "0x6c363e32" 内存
-
flash cs5.5 错误,"0x047063f9" 指令引用的 "0x6c363e32" 内存
-
iPad升级至16GB后!消息称苹果也要提高iPhone 13内存