最近小弟在研究使用JBossMQ+Spring实现jms持久化的问题。现在遇到的问题是不知道在发送端中如何配置才能实现?
我的spring配置如下:
<beans> <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">
org.jnp.interfaces.NamingContextFactory
</prop>
<prop key="java.naming.provider.url">
localhost:1099
</prop>
<prop key="java.naming.factory.url.pkgs">
org.jnp.interfaces:org.jboss.naming
</prop>
</props>
</property>
</bean> <bean id="jmsConnectionFactory"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate">
<ref bean="jndiTemplate"/>
</property>
<property name="jndiName">
<value>TopicConnectionFactory</value>
</property>
</bean>
<bean id="destination" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate">
<ref bean="jndiTemplate"/>
</property>
<property name="jndiName">
<value>topic/testTopic</value>
</property>
</bean>
<bean id = "userMessageConverter" class ="com.test.jms.JmsMessageConverter"/>
<!-- Spring JmsTemplate config -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref = "jmsConnectionFactory"/>
<property name="messageConverter" ref="userMessageConverter"/>
<property name="deliveryPersistent" value="true"></property>
<property name="deliveryMode" value="2"></property>
</bean>
<bean id="messageProducer" class="com.test.jms.MessageProducer">
<property name="template" ref="jmsTemplate"/>
<property name="destination" ref="destination"/>
</bean>
<bean id="messageListener" class="com.test.jms.MessageConsumer"/>
<bean id="listenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsConnectionFactory"/>
<property name="destination" ref="destination"/>
<property name="messageListener" ref="messageListener"/>
</bean>JBossMQ中也使用jdbc配置到oracle数据库中去了 在数据库中可以看到生成的jms_message表 请问其他地方还需要配置吗?
我的spring配置如下:
<beans> <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">
org.jnp.interfaces.NamingContextFactory
</prop>
<prop key="java.naming.provider.url">
localhost:1099
</prop>
<prop key="java.naming.factory.url.pkgs">
org.jnp.interfaces:org.jboss.naming
</prop>
</props>
</property>
</bean> <bean id="jmsConnectionFactory"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate">
<ref bean="jndiTemplate"/>
</property>
<property name="jndiName">
<value>TopicConnectionFactory</value>
</property>
</bean>
<bean id="destination" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate">
<ref bean="jndiTemplate"/>
</property>
<property name="jndiName">
<value>topic/testTopic</value>
</property>
</bean>
<bean id = "userMessageConverter" class ="com.test.jms.JmsMessageConverter"/>
<!-- Spring JmsTemplate config -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref = "jmsConnectionFactory"/>
<property name="messageConverter" ref="userMessageConverter"/>
<property name="deliveryPersistent" value="true"></property>
<property name="deliveryMode" value="2"></property>
</bean>
<bean id="messageProducer" class="com.test.jms.MessageProducer">
<property name="template" ref="jmsTemplate"/>
<property name="destination" ref="destination"/>
</bean>
<bean id="messageListener" class="com.test.jms.MessageConsumer"/>
<bean id="listenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsConnectionFactory"/>
<property name="destination" ref="destination"/>
<property name="messageListener" ref="messageListener"/>
</bean>JBossMQ中也使用jdbc配置到oracle数据库中去了 在数据库中可以看到生成的jms_message表 请问其他地方还需要配置吗?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货