`

Spring 使用ActiveMQ 收发消息实例

    博客分类:
  • JMS
 
阅读更多

http://jackyin5918.iteye.com/blog/1974197 的示例工程

Spring配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
  <!-- 配置ActiveMQ 连接 -->
  <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL" value="tcp://localhost:61616" />
    <property name="userName" value="admin" />
    <property name="password" value="password" />
  </bean>
  
  <!-- 可配置ActiveMQ 连接池 需要引入 commons-pool-->
  <bean id="pooledJmsConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
  </bean>
  
  <!-- 配置消息目的地 -->
  <bean id="cscoDest" class="org.apache.activemq.command.ActiveMQTopic">
    <constructor-arg value="STOCKS.CSCO" />
  </bean>
  
  <bean id="orclDest" class="org.apache.activemq.command.ActiveMQTopic">
    <constructor-arg value="STOCKS.ORCL" />
  </bean>
  
  <!-- 配置消息监听器 -->
  <bean id="portfolioListener" class="com.jackyin.amqSpringClient.Listener"></bean>
  
  <!-- 配置消息监听器容器 -->
  <!-- Spring DMLC -->
  <bean id="cscoConsumer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
    <property name="destination" ref="cscoDest" />
    <property name="messageListener" ref="portfolioListener" />
  </bean>
  
  <!-- Spring DMLC -->
  <bean id="orclConsumer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
    <property name="destination" ref="orclDest" />
    <property name="messageListener" ref="portfolioListener" />
  </bean>
  
  <!-- 发送消息 -->
  <!-- 
    Spring JMS Template 
    template.send(destination, getStockMessageCreator(destination));
    jmsTemplate使用send方法发送消息,该方法需要一个MessageCreator接口实现类
    JmsTemplate需要一个连接工厂.
  -->
  <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="pooledJmsConnectionFactory" />
  </bean>
  
  <bean id="stockPublisher" class="com.jackyin.amqSpringClient.SpringPublisher">
    <property name="template" ref="jmsTemplate" />
    <property name="destinations">
      <list>
        <ref local="cscoDest" />
        <ref local="orclDest" />
      </list>
    </property>
  </bean>

</beans>

 

 

分享到:
评论

相关推荐

    Spring整合JMS——实现收发消息

    本篇文章将详细探讨如何通过Spring框架整合JMS,特别是使用ActiveMQ作为消息代理来实现消息的收发功能。 首先,我们需要理解Spring对JMS的支持。Spring提供了`org.springframework.jms`包,包含了一系列接口和类,...

    ActiveMQ与spring集成实例

    通过以上步骤,你已经成功地将ActiveMQ与Spring集成,并实现了基本的消息收发功能。在实际项目中,你可能需要根据需求调整配置,例如设置消息的持久化、事务支持、消息优先级等高级特性。此外,ActiveMQ还提供了管理...

    activemq整合spring

    “springhello包下整合spring收发消息”,暗示了存在一个名为`springhello`的包,这个包里包含的代码是关于如何在Spring框架内设置消息消费者,用于接收和处理由ActiveMQ传递的消息。这通常涉及到配置Spring的`...

    ActiveMQ快速上手 PDF

    - **单独应用的开发**:编写 Java 应用程序使用 ActiveMQ 的 JMS API 进行消息收发。 - **结合Spring的开发**:利用 Spring 的支持简化 ActiveMQ 的配置,并通过 Spring 管理连接和事务。 #### 五、ActiveMQ的...

    JMS完全实例(八个实例)

    在这些实例中,我们将看到如何使用生产者(Producer)创建消息并发送到队列(Queue)或主题(Topic)。消费者(Consumer)则从这些队列或主题中接收消息。理解如何创建消息对象,设置其属性,并通过Session和...

    java实现消息队列的两种方式(小结)

    在本文中,我们将探讨两种使用Java实现消息队列的方式,分别是利用Spring消息模板发送消息和使用Apache ActiveMQ官方实例。 1. Spring消息模板发送消息 Spring框架提供了对JMS的强大支持,其中包括一个名为`...

    java开源包8

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包1

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包2

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包3

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包6

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包5

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包10

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包7

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包9

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包11

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包4

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包101

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    Java资源包01

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

Global site tag (gtag.js) - Google Analytics