JMS_DEMO

1.安装activeMq

    修改service.properites

#jms
jms.broker.url=tcp://130.233.1.210:61616?jms.optimizeAcknowledge=true&jms.blobTransferPolicy.defaultUploadUrl=http://130.233.1.210:8161/fileserver/
jms.queue.txnQueue=jifenOrderTxnQueue2?consumer.dispatchAsync=true&consumer.prefetchSize=1
jms.queue.txnReplyQueue=jifenOrderReplyQueue2
jms.revieve.timeout=5000
jms.minListener=1
jms.maxListener=10
jms.username=system
jms.password=manager

配置文件里面的IP地址,指定请求队列名和应答队列名

2.测试类定义两个线程,互相把自己的请求队列当做对方的接收队列

com.huateng.jifen.test.Test类;

<?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:aop="http://www.springframework.org/schema/aop"
	xmlns:cache="http://www.springframework.org/schema/cache"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:oxm="http://www.springframework.org/schema/oxm"
	xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd  
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd  
   	http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
   	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">

	<bean id="sendMessageUtils"
		class="com.jifen.order.common.SendMessageUtil">
		<property name="template" ref="jmsTemplate" />
		<property name="destination" ref="txnQueue" />
		<property name="respDest" ref="txnReplyQueue" />
	</bean>
	
	<bean id="sendMessageUtils1"
		class="com.jifen.order.common.SendMessageUtil">
		<property name="template" ref="jmsTemplate" />
		<property name="destination" ref="txnQueue1" />
		<property name="respDest" ref="txnReplyQueue1" />
	</bean>

	<!-- 配置JMS连接工厂 -->
	<!-- 采用TCP长连接方式, 避免每次建立短连接需要的额外工作时间 -->
	<bean id="connectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
		destroy-method="stop">
		<property name="connectionFactory">
			<bean class="org.apache.activemq.spring.ActiveMQConnectionFactory">
				<property name="brokerURL">
					<value>${jms.broker.url}</value>
				</property>
				<property name="useCompression" value="true" />
				<property name="useAsyncSend" value="true" />
				<property name="userName" value="${jms.username}" />
				<property name="password" value="${jms.password}" />
				<property name="copyMessageOnSend" value="false" />
				<property name="optimizeAcknowledge" value="true" />
				<property name="alwaysSessionAsync" value="true" />
			</bean>
		</property>
	</bean>



	<!-- 配置JMS模版 -->
	<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
		<property name="connectionFactory" ref="connectionFactory" /><!-- 建立连接 -->
		<property name="receiveTimeout" value="${jms.revieve.timeout}" /><!--同步应答超时  -->
		<property name="deliveryMode" value="1" />
		<property name="explicitQosEnabled" value="true" />
	</bean>
	
	<!-- queue start -->
	<bean id="txnQueue" class="org.apache.activemq.command.ActiveMQQueue">
		<constructor-arg index="0" value="${jms.queue.txnQueue}" />
	</bean>

	<bean id="txnReplyQueue" class="org.apache.activemq.command.ActiveMQQueue">
		<constructor-arg index="0" value="${jms.queue.txnReplyQueue}" />
	</bean>


	<bean id="txnQueue1" class="org.apache.activemq.command.ActiveMQQueue">
		<constructor-arg index="0" value="${jms.queue.txnReplyQueue}" />
	</bean>

	<bean id="txnReplyQueue1" class="org.apache.activemq.command.ActiveMQQueue">
		<constructor-arg index="0" value="${jms.queue.txnQueue}" />
	</bean>
	<!-- queue end -->

</beans>

=======

配置了部分的基于springMVC的demo

猜你喜欢

转载自xly1981.iteye.com/blog/1829585
jms