SpringJMS进行消息传送的配置

SpringJMS

	SpringJMS的使用,配置较为多, 但是格式固定, 所以摘录至此

发消息配置文件spring-jms-producer:

		<!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供 -->
		<bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
			<property name="brokerURL" value="tcp://192.168.25.147:61616" />
		</bean>
		<!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory -->
		<bean id="connectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
			<!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory -->
			<property name="targetConnectionFactory" ref="targetConnectionFactory" />
		</bean>
		<!-- Spring提供的JMS工具类,它可以进行消息发送等 -->
		<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
			<!-- 这个connectionFactory对应的是我们定义的Spring提供的那个ConnectionFactory对象 -->
			<property name="connectionFactory" ref="connectionFactory" />
		</bean>
		
		<!--这个是队列目的地,点对点的 文本信息 -->
		<bean id="queue" class="org.apache.activemq.command.ActiveMQQueue">
			<constructor-arg value="spring-queue" />
		</bean>
		<!--这个是队列目的地,广播的 文本信息 -->
		<bean id="topic" class="org.apache.activemq.command.ActiveMQTopic">
			<constructor-arg value="spring-topic" />
		</bean>

发消息的代码:

		jmsTemplate.send(queue/topic(目的地), new MessageCreator() {
			@Override
			public Message createMessage(Session session) throws JMSException {
				return session.createTextMessage("12312312312312");
			}
		});

收消息配置文件applicationContext-jms-consumer:

		<!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供 -->
		<bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
			<property name="brokerURL" value="tcp://192.168.25.147:61616" />
		</bean>
		<!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory -->
		<bean id="connectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
			<!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory -->
			<property name="targetConnectionFactory" ref="targetConnectionFactory" />
		</bean>
		
		<!--这个是队列目的地,点对点的 文本信息 -->
		<bean id="queue" class="org.apache.activemq.command.ActiveMQQueue">
			<constructor-arg value="spring-queue" />
		</bean>
		<!--这个是队列另一个目的地,广播的 文本信息, 两种选一种 -->
		<bean id="topic" class="org.apache.activemq.command.ActiveMQTopic">
			<constructor-arg value="spring-topic" />
		</bean>
		
		<!-- 我的监听类 : 必须实现接口javax.jms.MessageListener -->

		<!-- 消息监听容器 -->
		<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer">
			<property name="connectionFactory" ref="connectionFactory" />
			**<property name="destination" ref="queue" />**  //监听的消息目的地(监听哪个消息)
			<property name="messageListener" ref="queueListener" /> //监听类
		</bean>

接收者的代码(监听类):

		public class QueueListener implements MessageListener {
			@Override
			public void onMessage(Message message) {
				//TODO ....
			}
		}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值