`

jms 消息存储机制

    博客分类:
  • jms
 
阅读更多
conf/activemq.xml配置文件里添加上如下配置:
<persistenceAdapter>    
<amqPersistenceAdapter directory="activemq-data" maxFileLength="32mb"/>   
 </persistenceAdapter>   


熟悉说明


property name                   default value     Comments 
 
directory                        activemq-data      存储消息文件和日志的目录 
 
useNIO                           true                使用 NIO 特性 
 
syncOnWrite                      false               同步写文件到磁盘 
 
maxFileLength                    32mb                 Message Data日志文件的最大 Size 
 
persistentIndex                  true                  持久化日志索引,如果设为 false ,则在内存中保存 
 
maxCheckpointMessageAddSize       4kb                  在自动提交前在事务中能保持的最大消息数 
 
cleanupInterval                  30000                每隔多少时间清理不再使用的消息日志(毫秒) 
 
indexBinSize                     1024                  这个值是用来提升索引的性能的,值越大,索引相对性能越好 
 
indexKeySize                     96                    index key的size,index key基于message id 
 
indexPageSize                    16kb                   索引页的size 
 
directoryArchive                 archive             消费完的Data Log存放的目录 
 
archiveDataLogs                   false              设置为true的话,消费完的Data Log就放到Archive目录,而不是删除。 
 



参考:http://www.360doc.com/content/10/0728/17/11586_42075045.shtml

为了防止丢消息,可以这样设定

<destinationInterceptors>
      <virtualDestinationInterceptor>
        <virtualDestinations>
          <virtualTopic name=">" prefix="VirtualTopicConsumers.*." selectorAware="false"/>
        </virtualDestinations>
      </virtualDestinationInterceptor>
    </destinationInterceptors>
        <destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">" producerFlowControl="true" memoryLimit="200mb">
                  <pendingSubscriberPolicy>
                    <vmCursor />
                  </pendingSubscriberPolicy>
                </policyEntry>
                <policyEntry queue=">" producerFlowControl="true" memoryLimit="200mb">
                  <!-- Use VM cursor for better latency
                       For more information, see:
                       
                       http://activemq.apache.org/message-cursors.html
                       
                  <pendingQueuePolicy>
                    <vmQueueCursor/>
                  </pendingQueuePolicy>
                  -->
                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>



注意:将topic转化为queue的方法
<destinationInterceptors>
      <virtualDestinationInterceptor>
        <virtualDestinations>
          <virtualTopic name=">" prefix="VirtualTopicConsumers.*." selectorAware="false"/>
        </virtualDestinations>
      </virtualDestinationInterceptor>
    </destinationInterceptors>


参考:http://activemq.apache.org/persistence.html
http://activemq.apache.org/virtual-destinations.html

代码体现
jms:queue:VirtualTopicConsumers.nmEncashQueue.encashend-topic
分享到:
评论

相关推荐

    JMS消息队列机制及案例

    **JMS消息队列机制详解** Java Message Service(JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。它定义了生产、发送、接收和读取消息的标准API,使得不同的消息中间件提供商可以提供兼容的实现,便于...

    J2EE中的JMS 消息服务

    6. **持久化(Persistence)**:JMS支持消息的持久化存储,即使在服务器故障后,也能保证消息不丢失。 7. **事务(Transactions)**:JMS允许在发送和接收消息时使用JTA(Java Transaction API),确保消息操作的...

    JMS消息传递信息 简单代码

    4. **消息代理(Message Broker)**:也称为JMS提供者,负责存储和转发消息,如ActiveMQ、RabbitMQ和Apache Qpid等。 5. **队列(Queue)**:点对点模型中的目标,每个消息仅被一个消费者接收。 6. **主题(Topic)*...

    jms-1.1.jar(jms工具jar包)

    8. **持久化**:JMS允许消息的持久化存储,即使在消息代理重启后,消息也不会丢失。这对于确保消息的可靠传递至关重要。 9. **目的地(Destination)**:消息发送和接收的目标,可以是队列或主题。 10. **消息类型...

    java.jms.jar JMS需要的JAR包

    5. **消息代理(Message Broker)或消息服务器**:如ActiveMQ、RabbitMQ、IBM WebSphere MQ等,它们负责存储、路由和传递消息。 6. **连接工厂(ConnectionFactory)**:提供创建JMS连接的工厂方法。 7. **连接...

    JMS 简介以及Weblogic配置JMS图解

    【正文】 Java Messaging Service(JMS...同时,JMS提供的消息持久化和优先级机制确保了消息的重要性和可靠性。在WebLogic这样的应用服务器中配置JMS,可以帮助开发者充分利用这些特性,构建高效、健壮的企业级应用。

    javax.jms包,sun的JMS接口规范包

    这通过提供者的持久存储机制来实现。 8. **JNDI查找**:在企业级Java应用中,JMS对象(如ConnectionFactory和Destination)通常通过Java Naming and Directory Interface (JNDI) 进行查找和绑定,以便于管理和共享...

    Spring In Action 使用Spring发送和接收JMS消息

    JMS允许应用程序在分布式环境中发送和接收消息,它作为一种异步通信机制,能够解耦生产者和消费者,提高系统的可扩展性和可靠性。本文将深入探讨Spring如何整合JMS,以便于在实际项目中充分利用其功能。 一、JMS...

    JMS

    源码分析可以帮助开发者更深入地理解JMS如何处理消息的发送、接收和存储,以及如何确保消息的可靠传递。 **压缩包子文件的文件名称列表:“JMS.mmap”** "Mmap"通常指的是内存映射文件(Memory-Mapped File),这...

    jms-1.1.jar

    JMS 1.1是其一个重要的版本,它为分布式系统中的应用程序提供了一种可靠的消息传递机制,使得应用程序可以在不同时刻、不同速度的系统之间交换数据。本文将深入探讨JMS 1.1的核心概念、主要特性以及实际应用。 一、...

    java实现的基于jms协议的消息队列中间件,源码!

    3. **消息队列**:作为存储和转发的媒介,消息队列保证了消息的顺序,并在必要时进行消息的持久化,以防系统故障导致数据丢失。 4. **事务支持**:JMS提供了事务处理能力,确保消息的原子性,即消息要么全部发送成功...

    JMS入门文档,JMS入门文档

    Java消息服务(Java Message Service,简称JMS)是Java平台中...对于初学者来说,这些文档会提供一个良好的起点,帮助他们逐步掌握JMS的核心概念和实践技巧,从而在开发中有效地利用消息传递机制进行解耦和异步处理。

    基于JMS的消息中间件的实现-论文.zip

    此外,论文可能会讨论一些关键设计决策,如如何保证消息的可靠传输(例如,使用持久化存储和确认机制),如何优化性能(例如,使用批量发送和预取策略),以及如何处理并发和负载均衡问题。 在实际应用中,这样的...

    JMS 1.1 API JAVADOC 中文版 chm

    JMS 1.1 API是这个规范的一个版本,提供了在分布式环境中发送和接收消息的机制,它是Java应用程序与其他系统进行交互的重要工具,尤其在处理大量并发和数据传输时。 JMS 1.1 API文档主要包含了以下关键概念和接口:...

    Java-JMS实例

    4. **后备存储**:提供持久化的消息存储,可以基于文件系统或JDBC数据库。 **WebLogic JMS 特性** 1. **消息组成**:JMS消息由头、属性和主体组成。头包含了路由消息所需的标准字段,属性是可选的自定义字段,主体...

    jms整合spring工程

    - **消息队列(Message Queue)**:存储消息的临时容器,确保消息被正确地发送和接收。 - **生产者(Producer)**:创建并发送消息到消息队列的应用。 - **消费者(Consumer)**:从消息队列中接收并处理消息的...

    在Weblogic上配置JMS服务的方法

    以下是详细配置JMS服务的步骤,涵盖了连接工厂、消息存储、JMS服务器以及消息目的地的配置。 1. **启动数据库**: 在配置JMS服务之前,确保你的数据库服务已经启动并运行,因为WebLogic可能需要数据库来存储消息或...

Global site tag (gtag.js) - Google Analytics