1. 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"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- 自动扫描指定包及其子包下的所有Bean类 -->
<context:component-scan base-package="com.huey.dream" />
<!-- 配置JMS连接工厂 -->
<bean id="connectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616"/>
</bean>
<!-- 配置JMS模版 -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory"/>
</bean>
<!-- 发送消息的目的地 -->
<bean id="destination" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg index="0" value="helloQueue"/>
</bean>
</beans>
2.
package com.huey.dream.mq;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import com.huey.dream.SpringTest;
/**
*
* @author huey
* @version 1.0
* @created 2014-12-10
*/
public class MQTest extends SpringTest {
@Autowired
JmsTemplate jmsTemplate;
@Autowired
Destination destination;
/**
* 发送消息
* @throws Exception
*/
@Test
public void testSendMsg() throws Exception {
jmsTemplate.send(destination, new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
return session.createTextMessage("Hello, ActiveMQ!");
}
});
System.out.println("发送出一条消息。");
}
/**
* 接收消息
* @throws Exception
*/
@Test
public void testReceiveMsg() throws Exception {
while (true) {
TextMessage textMsg = (TextMessage) jmsTemplate.receive(destination);
if (textMsg != null) {
System.out.println("接收到消息:" + textMsg.getText());
} else {
System.out.println("没有消息了。");
break;
}
}
}
}