在以前的博客中讲了Spring+Blazeds+ActiveMq实现JMS消息服务,weblogic的jms配置请参考我的weblogic下创建JMS消息服务。
blazeds的消息实现机制跟activemq是一样的,只需要配置好weblogic的jms模板。
配置信息如下,其他的配置跟activemq是完全一样的。
<!-- JNDI 模板 如果不用jndi则需要注释掉该bean --> <bean id="JmsJndiTemplate" class="org.springframework.jndi.JndiTemplate"> <property name="environment"> <props> <!-- com.sun.enterprise.naming.SerialInitContextFactory --> <prop key="java.naming.factory.initial"> weblogic.jndi.WLInitialContextFactory </prop> <prop key="java.naming.provider.url"> ${jms.weblogic_url} </prop> <prop key="java.naming.factory.url.pkgs"> weblogic.jndi.factories </prop> </props> </property> </bean> <!-- JMS连接工厂 jndi方式例如 weblogic --> <bean id="JmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>${jms.weblogic_factory}</value> </property> <property name="jndiTemplate"> <ref bean="JmsJndiTemplate"></ref> </property> </bean> <!-- JMS连接工厂 brokerURL方式 例如ActiveMQ <bean id="JmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616"></property> </bean> --> <!--JMS Topic目的地 JNDI方式--> <bean id="JmsDestination" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>${jms.weblogic_topic}</value> </property> <property name="jndiTemplate"> <ref bean="JmsJndiTemplate"></ref> </property> </bean> <!--JMS Topic目的地 例如 ActiveMQ <bean id="JmsDestination" class="org.apache.activemq.command.ActiveMQTopic"> <constructor-arg index="0" value="TopicFlex"></constructor-arg> </bean> --> <!-- JMS模板 --> <bean id="JmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="JmsConnectionFactory"/> <property name="defaultDestination" ref="JmsDestination"/> </bean> </beans>