【问题标题】:Is it possible to have both kahaDB and memoryPersistenceAdapter for different queues in Activemq?Activemq中的不同队列是否可以同时拥有kahaDB和memoryPersistenceAdapter?
【发布时间】:2017-03-17 21:39:49
【问题描述】:

我将 ActiveMQ 5.8 与 kahaDB persistenceAdapter 一起使用,但需要为单个队列关闭 kahaDB 持久性

我找不到任何关于如何禁用单个队列的持久性的文档。

当前配置是

   <persistenceAdapter>
      <kahaPersistenceAdapter directory="activemq-data" maxDataFileLength="33554432"/>
   </persistenceAdapter>

有人知道如何实现吗?

我尝试使用过滤的PersistenceAdapters 并将memoryPersistenceAdapter 用于队列我想禁用kahdb 一个但没有成功,因为您似乎不能同时使用它们。

<persistenceAdapter>
    <mKahaDB directory="kahadb">
         <filteredPersistenceAdapters>
              <filteredKahaDB>
                              <persistenceAdapter>
                                              <kahaDB"> </kahaDB>
                              </persistenceAdapter>
              </filteredKahaDB>
              <filteredKahaDB queue="queue-one">
                              <persistenceAdapter>
                                             <memoryPersistenceAdapter> </memoryPersistenceAdapter>
                              </persistenceAdapter>
              </filteredKahaDB>
         </filteredPersistenceAdapters>     
    </mKahaDB>                      
</persistenceAdapter>

【问题讨论】:

    标签: activemq


    【解决方案1】:

    目前不支持以您要求的方式混合持久性适配器类型。 mKahaDB 适配器希望所有过滤后的适配器都属于 KahaDB 种类,因此您尝试的方法将不起作用。混合持久性适配器有相当多的复杂性,尤其是在事务一致性方面,所以这不是一直在努力的事情。

    该项目接受贡献,因此,如果您确实希望看到已实施的内容,请深入了解并查看是否可以对其进行排序。

    【讨论】:

    • 感谢您的评论。只是为了确认没有办法关闭单个队列的持久性?
    • 使用persistent = false 发送消息,否则不,代理假定如果您告诉它使用持久性就是您的意思。
    猜你喜欢
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-03
    相关资源
    最近更新 更多