我使用Active MQ进行集成测试我的应用程序。我在spring配置中定义了一个active-mq代理,如下所示:
<amq:broker useJmx="false"
persistent="false"
deleteAllMessagesOnStartup="true"
useShutdownHook="true">
<amq:transportConnectors>
<amq:transportConnector uri="tcp://localhost:0"/>
</amq:transportConnectors>
</amq:broker>
但它似乎忽略了persistent=false
,每次运行测试套件时,我都会创建一个名为activemq-data
的文件夹
我需要做什么才能使Active MQ不持久?
答案 0 :(得分:1)
除了添加persistant =“false”之外,解决方案是在activemq.xml中注释掉以下行:
<persistenceAdapter>
<kahaDB directory="${activemq.base}/data/kahadb"/>
</persistenceAdapter>
此外,此时清除您的数据目录并没有受到伤害......
答案 1 :(得分:0)
我会使用ActiveMQ 5.3.2 - 这看起来像是旧版本。 顺便说一句 - 你不需要deleteAllMessagesOnStartup - 因为你不会使用持久性消息存储
欢呼声,
罗布
答案 2 :(得分:0)
即使在评论持久适配器时,它也会创建该目录。但是,如果代理URL中为et broker.persistent=false
,则持久性将被禁用。我仍然想知道为什么,在这一点上,这是在5.4.2。