标签:



package com.ll.springActiveMQ1;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.Session;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.jms.core.JmsTemplate;import org.springframework.jms.core.MessageCreator;public class HelloSender {/*** @param args* jmsTemplate和destination都是在spring配置文件中进行配制的* Sender只使用了配置文件中的jmsFactory,jmsTemplate,还有destination这三个属性*/public static void main(String[] args) {ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext-jms.xml");JmsTemplate template = (JmsTemplate) applicationContext.getBean("jmsTemplate");Destination destination = (Destination) applicationContext.getBean("destination");template.send(destination, new MessageCreator() {public Message createMessage(Session session) throws JMSException {return session.createTextMessage("发送消息:Hello ActiveMQ Text Message2!");}});System.out.println("成功发送了一条JMS消息");}}
package com.ll.springActiveMQ1;import javax.jms.Destination;import javax.jms.TextMessage;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.jms.core.JmsTemplate;/*** JMS消费者 消息题的内容定义 消息对象 接收消息对象后: 接收到的消息体** <p>*/public class ProxyJMSConsumer {/*** 构造函数*/public ProxyJMSConsumer() {}/****/private JmsTemplate jmsTemplate;public JmsTemplate getJmsTemplate() {return jmsTemplate;}public void setJmsTemplate(JmsTemplate jmsTemplate) {this.jmsTemplate = jmsTemplate;}/*** 监听到消息目的有消息后自动调用onMessage(Message message)方法*/public void recive() {ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext-jms.xml");Destination destination = (Destination) applicationContext.getBean("destination");while (true) {try {//同步接收TextMessage txtmsg = (TextMessage) jmsTemplate.receive(destination);if (null != txtmsg) {System.out.println("[DB Proxy] " + txtmsg);System.out.println("[DB Proxy] 收到消息内容为: "+ txtmsg.getText());} else {break;}} catch (Exception e) {e.printStackTrace();}}}}
package com.ll.springActiveMQ1;import org.apache.commons.logging.Log;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class JMSTest {/*** @param args*/public static void main(String[] args) {ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext-jms.xml");ProxyJMSConsumer proxyJMSConsumer = (ProxyJMSConsumer) applicationContext.getBean("messageReceiver");proxyJMSConsumer.recive();System.out.println("初始化消息消费者");}}
<?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/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-2.5.xsd"default-autowire="byName"><!-- 配置connectionFactory --><bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory"destroy-method="stop"><property name="connectionFactory"><bean class="org.apache.activemq.ActiveMQConnectionFactory"><property name="brokerURL"><value>tcp://127.0.0.1:61616</value></property></bean></property><property name="maxConnections" value="100"></property></bean><!-- Spring JMS Template --><bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"><property name="connectionFactory"><ref local="jmsFactory" /></property><property name="defaultDestinationName" value="subject" /><!-- 区别它采用的模式为false是p2p为true是订阅 --><property name="pubSubDomain" value="true" /></bean><!-- 发送消息的目的地(一个队列) --><bean id="destination" class="org.apache.activemq.command.ActiveMQTopic"><!-- 设置消息队列的名字 --><constructor-arg index="0" value="subject" /></bean><bean id="messageReceiver" class="com.ll.springActiveMQ1.ProxyJMSConsumer"><property name="jmsTemplate" ref="jmsTemplate"></property></bean></beans>


【ActiveMQ入门-8】ActiveMQ学习-与Spring集成
标签:
原文地址:http://www.cnblogs.com/ssslinppp/p/4468070.html