Spring整合ActiveMQ 之 ActiveMQ配置

1.依赖

<!-- ActiveMQ客户端完整jar包依赖 -->
<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-all</artifactId>
    <version>5.9.0</version>
</dependency>

<!-- Spring-JMS插件相关jar包依赖 -->

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jms</artifactId>

<version>4.1.6.RELEASE</version>

</dependency>

2xml配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jms="http://www.springframework.org/schema/jms"
    xsi:schemaLocation="http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-4.1.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">

    <!-- 1、配置activemq连接工程 
        使用连接池好处:链接只需要初始化一次,每次要使用的时候,直接从连接池获取,用完之后还给连接池。省去了每次创建、销毁连接的时间。                                  
    -->
    <bean name="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
        <property name="connectionFactory">
            <bean class="org.apache.activemq.ActiveMQConnectionFactory">
                <property name="brokerURL" value="tcp://192.168.23.12:61616"/>
                <property name="userName" value="admin"/>
                <property name="password" value="admin"/>
            </bean>
        </property>
        <property name="maxConnections" value="20"></property>
    </bean>

    <!-- 2、spring整合activemq链接工厂 
        可以缓存session。
    -->
    <bean name="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
        <property name="targetConnectionFactory" ref="pooledConnectionFactory"></property>
        <property name="sessionCacheSize" value="5"></property>
    </bean>
    
    <!-- 3、spring整合消息操作对象JmsTemplate 
        使用jmsTemplate可以简化代码,不需要自己去创建消息的发送对象。
    -->
    <bean name="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
        <property name="connectionFactory" ref="cachingConnectionFactory"></property>
    </bean>

    
    <!-- 4、spring加载监听器 
        acknowledge="auto"  表示消息获取之后,自动出队列
        container-type    表示的容器的类型   default|simple
            default:支持session缓存。
    -->
    <jms:listener-container acknowledge="auto"
        container-type="default"
        destination-type="queue"
        connection-factory="cachingConnectionFactory">
        <!-- 指定监听器
            destination="order-mq"  指定监听的是哪一个队列
            ref="orderListener"         指定监听器对象  使用注解的时候,对象的名称是类名首字母小写
         -->
        <jms:listener destination="order-mq" ref="orderListener"/>    
    </jms:listener-container>

</beans>

 

posted @ 2019-07-29 18:58  无声凉薄  阅读(379)  评论(0编辑  收藏  举报