Skip to content

ActiveMQ In Action读书笔记(五)

18965050 edited this page Jul 3, 2017 · 2 revisions

Programming with Java

Embed

BrokerService: 对应<broker>标签

BrokerFactory:用于已存在一个broker配置文件的情况下, 可通过BrokerFactory来创建BrokerService

和spring相结合

  • pure spring: 配置spring bean
  • BrokerFactoryBean: 在spring配置文件中通过BrokerFactoryBean,实际上相当于通过BrokerFactory来加载broker配置文件
  • XBean:使用org.apache.xbean.spring.context.FileSystemXmlApplicationContext来加载AMQ的配置文件
  • Spring配置文件结合AMQ schema

实现request/response调用方式

注意: 只适用在queue方式下 jms req/res方式

  • producer发送请求消息, 并设置 correlationID(通过JMSCorrelationID头属性) 和 replyDestination(通过JMSReplyTo头属性)
  • consumer收到消息并消费后, 发送响应消息,destination为replyDestination中指明的destination, 并设置JMSCorrelationID和请求消息的JMSCorrelationID一致

使用Spring编写client

主要表现在4个方面:

  • 配置JMS连接: 通过org.apache.activemq.ActiveMQConnectionFactory来进行配置, 连接池实现可通过org.apache.activemq.pool.PooledConnectionFactory
  • 配置Destination: 通过 org.apache.activemq.command.ActiveMQTopic 和 org.apache.activemq.command.ActiveMQQueue 来实现
  • 创建Consumer: 如果是异步通过MessageListener的方式来消费消息可通过org.springframework.jms.listener.DefaultMessageListenerContainer来实现
  • 创建Producer: 通过 org.springframework.jms.core.JmsTemplate 以及 org.springframework.jms.core.MessageCreator实现类来实现消息生成和发送