spring 配置jms和dataSource是要注意

JMS的配置如下

<bean id="activemqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory" >
		<property name="brokerURL" value="vm://localhost" />
	</bean>
		
	<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer" >
		<property name="connectionFactory" ref="activemqConnectionFactory" />
		<property name="sessionTransacted" value="true" />
		<property name="destinationName" value="zweb.smtp" />
		<property name="messageListener">
			<bean class="cn.ceopen.zweb.app.mail.service.impl.AsyncSmtpListenerImpl">
				<property name="sender" ref="mailsender" />
				<property name="freeMarkerConfig" ref="freeMarkerConfig" />
				<property name="mailManager" ref="mailManager" />
			</bean>
		</property>
		<property name="concurrentConsumers" value="3" />
	</bean>

如果spring配置文件用了

default-autowire="byName"

并且同时配置了某个beanid是dataSource

这就会不小心让jms偷吃你的数据库连接了

别问我怎么知道的

这个问题花了几天时间呢

相关推荐