0 0

spring配置weblogic JMS,JmsTemplate为空值?0

spring3.0,weblogic9.2
折腾了2天了一直无头绪,郁闷了

weblogic配置:
connectionFactory的JNDI:JMSFactory
Queue的JNDI:JMSQueue_1、JMSQueue_2
Topic的JNDI:JMSTopic



spring xml配置:
<?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:jms="http://www.springframework.org/schema/jms"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms.xsd"
	default-autowire="byName">

	<!-- jndiTemplate -->
	<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
		<property name="environment">
			<props>
				<prop key="java.naming.factory.initial">
					weblogic.jndi.WLInitialContextFactory
				</prop>
				<prop key="java.naming.provider.url">
					t3://localhost:7001
				</prop>
				<prop key="java.naming.factory.url.pkgs"> 
          			weblogic.jndi.factories 
        		</prop>
			</props>
		</property>
	</bean>	
	
	<!-- jmsConnectionFactory -->
	<bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName" value="JMSFactory"></property>
		<property name="jndiTemplate" ref="jndiTemplate"></property>
		<!-- <property name="expectedType" value="javax.jms.TopicConnectionFactory"></property> -->
	</bean>
	
	<!-- jmsDestionation -->
	<bean id="jmsDestination" class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName" value="JMSTopic"></property>
		<property name="jndiTemplate" ref="jndiTemplate"></property>
		<!-- <property name="expectedType" value="javax.jms.Topic"></property> -->
	</bean>
	
	<!-- singleConnectionFactory
	<bean id="singleConnectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
		<property name="targetConnectionFactory" ref="jmsConnectionFactory"></property>
	</bean> -->
	
	<!-- sender Template -->
	<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
		<property name="connectionFactory" ref="jmsConnectionFactory"></property>
		<property name="defaultDestination" ref="jmsDestination"></property>
		<!-- 
		<property name="connectionFactory" ref="singleConnectionFactory"></property>
		<property name="defaultDestination" value="JMSServer-0/SystemModule-0!JMSTopic"></property>
		<property name="pubSubDomain" value="true"></property>
		<property name="explicitQosEnabled" value="true"></property> -->
	</bean>
	
	<!-- sender bean -->
	<bean id="jmsTopicProducter" class="com.xxoo.test.jms.JMSTopicProducter">
		<property name="jmsTemplate" ref="jmsTemplate"></property>
	</bean>
</beans>


JMSTopicProducter代码:
import java.io.Serializable;
import java.util.Map;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.ObjectMessage;
import javax.jms.Session;

import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Component;

@Component("jmsTopicProducter")
public class JMSTopicProducter {
	private JmsTemplate jmsTemplate;

	public JmsTemplate getJmsTemplate() {
		return jmsTemplate;
	}

	public void setJmsTemplate(JmsTemplate jmsTemplate) {
		this.jmsTemplate = jmsTemplate;
	}
	
	public void send(final Map<String, Object> map){
		try{
			this.jmsTemplate.send(new MessageCreator(){

				public Message createMessage(Session arg0) throws JMSException {
					Message message = arg0.createMessage();
					((ObjectMessage) message).setObject((Serializable) map);
					return message;
				}
				
			});
		}catch (Exception e) {
			e.printStackTrace();
		}
	}
}


谢谢各位
2012年8月21日 17:43
  • 大小: 12.6 KB

1个答案 按时间排序 按投票排序

0 0

spring配置jms没搞过。但是jms的jndi配置的时候,是不是应该需要容器的用户名、密码呢?也就是jndiTemplate这个bean配置的environment属性,没有用户名、密码是访问不了weblogic的jndi的。
你试一下。因为在没有spring时,一般都是通过如下代码获取weblogic中jndi的

Environment environment = new Environment();
environment.setProviderUrl(url);
environment.setSecurityPrincipal(username);
environment.setSecurityCredentials(password);
Context context = environment.getInitialContext();
context.lookup(jndiName);

2012年8月21日 20:27

相关推荐

    Spring+Weblogic JMS

    5. **配置消息源和目的地**:在Spring配置中,为队列或主题创建bean,这些bean可以被`JmsTemplate`或`MessageListenerContainer`使用。 6. **发送和接收消息**:使用`JmsTemplate`可以方便地发送消息,而消息的接收...

    spring,weblogic配置jms

    **配置WebLogic JMS与Spring的步骤** 1. **安装和启动WebLogic Server**: 首先确保你已经安装并配置好WebLogic Server,可以通过控制台或命令行工具启动服务器。 2. **创建JMS模块和资源**: 在WebLogic管理控制台...

    Spring整合Weblogic jms实例详解

    Spring 整合 Weblogic JMS 是一种非常有用的技术,可以为应用程序提供高性能、可靠性和灵活性的消息传递机制。 知识点: * Spring 整合 Weblogic JMS 的优点 * JMS 服务器配置 * Spring 配置 applicationContext-...

    Spring+weblogic接收JMS消息

    - Spring的`DefaultMessageListenerContainer`或`SimpleMessageListenerContainer`可以配置为监听WebLogic Server上的JMS队列或主题。 4. **消息处理的实现**: - 创建一个实现了`MessageListener`接口的类,该类...

    Spring+weblogic9.2发送JMS消息

    本话题主要探讨如何在Spring框架下与WebLogic 9.2集成,实现JMS(Java Message Service)消息的发送。 首先,JMS是一种标准的API,用于在分布式环境中传递消息。通过JMS,应用可以在异步和解耦的方式下进行通信,...

    spring获取weblogic jndi数据源的两种方式

    本文将详细介绍如何在Spring中配置两种不同的方式来获取WebLogic JNDI数据源。 #### 一、本地WebLogic Server获取 这种方式适用于当Spring应用与WebLogic服务器在同一台物理机器上运行时的情况。在这种模式下,...

    weblogic中使用JMS发送和接受消息

    在WebLogic中,你需要配置JMS模块、目的地(队列或主题)、以及相关的连接工厂和目的地工厂。 1. **创建JMS模块**:在WebLogic管理控制台中,选择“服务”-&gt;“JMS”-&gt;“JMS模块”,点击“新建”创建一个新的JMS模块...

    spring jms 整合 weblogic jms

    本人开发的spring jms项目,已经上线近一年了,这里是我项目jms配置文件,使用的是spring jms 整合weblogic jms。如果真的需要,请咨询我,并且附上我上传的这个配置文件,附近中没有带有这个文件,一律不作任何回答...

    Weblogic JMS 依赖jar包下载

    Weblogic JMS 依赖jar包是Oracle公司的中间件产品Weblogic Server中用于...在开发过程中,理解JMS的原理和Weblogic JMS的配置细节,以及正确引用和使用这些jar包,对于成功地在Weblogic 11g上实现消息服务至关重要。

    Spring配置weblogic中的Datasource

    本篇将深入讲解如何在WebLogic服务器中配置Spring的数据源(Datasource),以便应用程序能够高效、安全地访问数据库。 首先,了解数据源在Java EE环境中的作用至关重要。数据源是连接数据库的一种抽象,它提供了一...

    weblogic_jms服务器配置

    WebLogic Server 是一款由 Oracle 公司提供的企业级 Java 应用服务器,它支持 Java Message Service (JMS),一个标准的 Java API,用于在...正确配置后,JMS 服务器能为你的应用程序提供可靠的异步通信和消息传递能力。

    JMS入门小例子以及weblogic安装,并且在weblogic中配置JMS服务

    总的来说,JMS入门实例结合WebLogic的安装和配置,为初学者提供了一个了解和实践Java消息服务的完整流程。通过这个过程,开发者可以学习到如何在WebLogic这样的企业级应用服务器上构建可靠的消息传递系统,以及如何...

    weblogic与jms+spring

    WebLogic与JMS+Spring的整合利用了WebLogic的稳定性和JMS的异步通信能力,结合Spring的灵活性和易用性,为开发高效、可扩展的企业级应用提供了强大的基础。通过详细的配置和测试,开发者可以确保系统能够正确地处理...

    springboot集成weblogic的jms源码.zip

    这个"springboot集成weblogic的jms源码.zip"压缩包提供了将Spring Boot应用与WebLogic的JMS服务集成的示例代码。 首先,我们来看`JmsConfiguration.java`文件。这是一个配置类,通常用于设置与JMS相关的bean。在...

    Linux环境Weblogic集群配置,Weblogic JMS集群配置

    本教程将深入探讨如何在Linux环境下配置Weblogic集群以及Weblogic JMS集群,这对于提高应用程序的可用性和可扩展性至关重要。 首先,让我们了解一下Weblogic集群的基本概念。Weblogic集群是指一组独立的Weblogic...

    Weblogic_JMS+配置数据源配置

    配置WebLogic的数据源是为应用程序提供数据库连接的关键步骤。现在,我们详细探讨WebLogic_JMS和配置数据源的相关知识点。 1. **WebLogic JMS服务**: - **概念**:WebLogic JMS服务允许应用程序创建、发送、接收...

    Programming WebLogic JMS

    - **配置JNDI环境**:首先需要配置JNDI(Java Naming and Directory Interface)环境,以便应用程序能够查找和使用JMS资源。这通常通过WebLogic控制台完成。 - **创建连接工厂**:定义一个JNDI名称,并将其映射到一...

    jms.rar_weblogic8 spring jms

    本文将深入探讨如何在Spring框架下配置JMS,并结合WebLogic 8.1这个J2EE容器进行实践。我们将围绕标题“jms.rar_weblogic8_spring_jms”以及描述中的关键信息展开。 首先,让我们理解JMS的核心概念。Java消息服务...

    java weblogic jms temple

    自己写好的一个简单的weblogic jms的简单实现,包括点对点的实现,以及topic的实现,适合初学者参考

    webLogic9.2配置JMS步骤

    WebLogic 9.2配置JMS(Java Message Service)涉及一系列步骤,主要目的是为了实现分布式消息传递,包括点对点的Queue模式和发布/订阅的Topic模式。在本例中,我们将专注于配置发布/订阅模式,即Topic。以下是详细的...

Global site tag (gtag.js) - Google Analytics