转载:http://yunzhongxia.iteye.com/blog/790627
在以前的博客中讲了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>
<!-- 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>