activeMQ环境搭建详解

 

 

  下载demo代码地址:http://download.csdn.net/detail/qq_29582193/9916581

  1. 官网下载activeMQ   http://activemq.apache.org/

  2. 解压apache-activemq-5.13.0-bin.zip

    根据自己使用的操作系统启动MQ笔者的是64win7系统

    如图

    activeMQ环境搭建详解 

    启动好的cmd窗口

    activeMQ环境搭建详解 

    访问网页测试

    activeMQ环境搭建详解 

  3. 编写代码如图包含发送者、接收者、测试类和springxml配置文件

    activeMQ环境搭建详解 

     

代码清单

(配置文件)

mq-config.properties

 

activemq.connection.brokerURL=tcp://localhost:61616

activemq.connection.userName=admin

activemq.connection.password=admin

activemq.queue.example=example.queue

 

mq-env.xml

 

<?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:context="http://www.springframework.org/schema/context" xmlns:oxm="http://www.springframework.org/schema/oxm"

xsi:schemaLocation="http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.2.xsd

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">

<bean id="configureHolder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="locations">  

           <list>             

              <value>classpath:mq-config.properties</value>         

            </list>  

        </property>  

</bean>

<bean id="mqConnectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory">

<property name="brokerURL" value="${activemq.connection.brokerURL}"></property>

<property name="userName" value="${activemq.connection.userName}"></property>

<property name="password" value="${activemq.connection.password}"></property>

</bean>

<bean id="mqPooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop">

<property name="connectionFactory" ref="mqConnectionFactory">   

</property>

<property name="maxConnections" value="100"></property>

</bean>

<bean id="exampleQueue" class="org.apache.activemq.command.ActiveMQQueue">

<constructor-arg index="0" value="${activemq.queue.example}"></constructor-arg>

</bean>

<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">

<property name="connectionFactory" ref="mqPooledConnectionFactory"></property>

<property name="defaultDestination" ref="exampleQueue"></property>

</bean>

</beans>

 

mq-producer.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="producer" class="com.lcd.activemq.Sender"></bean>

</beans>

 

mq-consumer.xml

 

<?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" xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.2.xsd

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">

 

<bean id="consumer" scope="prototype" class="com.lcd.activemq.Receiver" />

    

<jms:listener-container acknowledge="auto" connection-factory="mqPooledConnectionFactory">

<jms:listener   destination="${activemq.queue.example}" ref="consumer" method="process"/>

</jms:listener-container>

</beans>

 

 

applicationContext.xml

 

<?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:context="http://www.springframework.org/schema/context"

xmlns:p="http://www.springframework.org/schema/p"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">

<context:component-scan base-package="*"></context:component-scan>

<import resource="mq-env.xml"/>

<import resource="mq-producer.xml"/>

<import resource="mq-consumer.xml"/>

 

</beans>

 

(java代码)

Sender.java

 

 

package com.lcd.activemq;

 

import javax.jms.JMSException;

import javax.jms.Message;

import javax.jms.Session;

 

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotation.Qualifier;

import org.springframework.jms.core.JmsTemplate;

import org.springframework.jms.core.MessageCreator;

 

public class Sender {

 

@Autowired

@Qualifier(value = "jmsTemplate")

private JmsTemplate jmsTemplate;

 

public void sender(final String message) {

 

jmsTemplate.send(new MessageCreator() {

public Message createMessage(Session session) throws JMSException {

StringBuilder sb = new StringBuilder();

sb.append("Hello activeMQ ====>message:" + message);

return session.createObjectMessage(sb.toString());

}

});

}

 

}

 

Receiver.java

 

 

package com.lcd.activemq;

 

public class Receiver {

 

public void process(String message) throws Exception {

 

//Thread.sleep(1000);

System.out.println(message);

}

 

}

 

TestApp.java

package com.lcd.activemq;

 

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

 

public class TestApp {

 

static ApplicationContext ctx = new ClassPathXmlApplicationContext(

"applicationContext.xml");

 

public static void main(String[] args) throws InterruptedException {

 

Sender sender = (Sender) ctx.getBean("producer");

int i = 0;

while (true) {

Thread.sleep(1000);

sender.sender("消息:"+i);

i++;

}

}

 

}

运行结果:

activeMQ环境搭建详解 

 本文demo下载地址http://download.csdn.net/detail/qq_29582193/9916581


主题订阅请参看下一遍文章

activeMQ消息详解(续) 订阅(主题)消息(消息持久化)http://blog.csdn.net/qq_29582193/article/details/76512799

欢迎扫描头像关注嘟嘟技术下载更多技术源码! 




相关文章: