`
vivaxiaohua
  • 浏览: 19509 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Weblogic JMS 配置及简单实例

阅读更多

1.weblogic (10)配置

(1). 创建domain

(2). 配置 Persistent Stores ,我这里使用filestore

       a. target:AdminServer

       b. Directory: "可访问路径"

(3). 创建JMS Server

       a. Persistent Store:选择(2)配置的

       b. target: AdminServer

(4). 创建JMS Modules

       4.1 进入创建的JMS Modules,切换到subdeployment tab,创建subdeployment, 注意将target配置成(3)的JMS Server

       4.2 切换到 configuration tab,创建 Connection Factory,target:AdminServer

        4.3 同样configuration tab, 创建 queue/topic ,subdeployment配置成(4.1)的subdeployment

 

2. 创建java project编写测试代码

(1) 创建一个java project(不是web项目)

(2) 将weblogic安装目录中的wlclient.jar加入classpath中(注意:weblogic老版本的话使用weblogic.jar), 具体路径:$Weblogic_HOME\wlserver_10.3\server\lib。

(3) 需要将javaee.jar加入到classpath,因为我们建的是java project项目,不会自动添加javaee包。注意:从官网下载javaee sdk,安装后lib中有这个包。

 

Sender:

import java.util.Hashtable;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;


public class JMSSender {

	/**
	 * @param args
	 * @throws NamingException 
	 * @throws JMSException 
	 */
	public static void main(String[] args) throws NamingException, JMSException {
		//init JNDI context
		String JNDIFactory = "weblogic.jndi.WLInitialContextFactory";//define JNDI context factory
		String providerUrl = "t3://localhost:8001"; //define weblogic JMS url
		Hashtable env = new Hashtable();
		env.put(Context.INITIAL_CONTEXT_FACTORY, JNDIFactory);
		env.put(Context.PROVIDER_URL, providerUrl);
		Context ctx = new InitialContext(env);
		
		//find connection factory
		String connFactoryJNDI = "jms/ConnectionFactoryTest"; //jms connectionFactory JNDI name
		QueueConnectionFactory connFactory = (QueueConnectionFactory) ctx.lookup(connFactoryJNDI);
		//create queue connection
		QueueConnection qConn = (QueueConnection) connFactory.createConnection();
		//create session
		QueueSession qSession = qConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
		//find queue by JNDI lookup
		Queue queue = (Queue) ctx.lookup("jms/QueueTest");
		//create sender
		QueueSender qSender = qSession.createSender(queue);
		//create message
		Message msg = qSession.createTextMessage("Message is from JMS Sender!");
		qSender.send(msg);
		
		qSender.close();
		
		qSession.close();
		
		qConn.close();
		
	}

}

 

Receiver:

 

import java.util.Hashtable;

import javax.jms.BytesMessage;
import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueReceiver;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.StreamMessage;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;


public class JMSReceiver {
	
	public static void main(String[] args) throws NamingException, JMSException {
		//init JNDI context
		String JNDIFactory = "weblogic.jndi.WLInitialContextFactory";//define JNDI context factory
		String providerUrl = "t3://localhost:8001"; //define weblogic JMS url
		Hashtable env = new Hashtable();
		env.put(Context.INITIAL_CONTEXT_FACTORY, JNDIFactory);
		env.put(Context.PROVIDER_URL, providerUrl);
		Context ctx = new InitialContext(env);
		
		//find connection factory
		String connFactoryJNDI = "jms/ConnectionFactoryTest"; //jms connectionFactory JNDI name
		QueueConnectionFactory connFactory = (QueueConnectionFactory) ctx.lookup(connFactoryJNDI);
		//create queue connection
		QueueConnection qConn = (QueueConnection) connFactory.createConnection();
		//create session
		QueueSession qSession = qConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
		//find queue by JNDI lookup
		Queue queue = (Queue) ctx.lookup("jms/QueueTest");
		
		//create receiver
		QueueReceiver qReceiver = qSession.createReceiver(queue);
		//create message listener
		qReceiver.setMessageListener(new MessageListener() {

			public void onMessage(Message msg) {
				String msgText = "";
				double d = 0;
				 try {
					if (msg instanceof TextMessage) {   
					        msgText = ((TextMessage) msg).getText();   
					    } else if (msg instanceof StreamMessage) {   
					        msgText = ((StreamMessage) msg).readString();   
					        d = ((StreamMessage) msg).readDouble();   
					    } else if (msg instanceof BytesMessage) {   
					        byte[] block = new byte[1024];   
					        ((BytesMessage) msg).readBytes(block);   
					        msgText = String.valueOf(block);   
					    } else if (msg instanceof MapMessage) {   
					        msgText = ((MapMessage) msg).getString("name");   
					    } 
				} catch (JMSException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}   
				
				System.out.println(msgText + " " + d);
			}});

		qConn.start();
		
	}
	
}

 

 

 

 

 

 

 

 

  • 大小: 78.7 KB
  • 大小: 69 KB
  • 大小: 113.5 KB
分享到:
评论
4 楼 fisher 2016-01-03  
ConnectionFactoryTest   这个是哪里来的? 在我的环境里好像不起作用啊
3 楼 ostar005 2014-04-18  
jms/QueueTest JNDI最终是怎么样和Queue的匹配的?
是在哪里配置的,我记得JNDI定义的时候都会匹配到指定的资源,例如配置JDBC的datasource的时会指定数据库的地址和端口以及数据库名。
2 楼 qinsmoon 2013-04-18  
最近正在学习jms   [b][/b]
1 楼 chen_bing 2013-01-22  
真的不错,

相关推荐

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

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

    webLogic9.2配置JMS步骤

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

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

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

    WebLogic jms三个实例

    同时也实现了远程传送消息和本地传送消息,另外也分别实现了session的事务和非事务模式,有了这三个例子应该可以满足你的任何关于jms的需求了,由于上传限制,另外还需要下载有个WebLogic包才能运行实例

    在Weblogic上配置JMS服务的方法

    在WebLogic服务器上配置Java消息服务(JMS)是实现分布式消息传递的关键步骤,它允许应用程序在异步模式下交换数据。以下是详细配置JMS服务的步骤,涵盖了连接工厂、消息存储、JMS服务器以及消息目的地的配置。 1. ...

    JMS经典实例 基于weblogic

    在实现JMS实例时,你可以采用编程模型或声明式模型。编程模型需要在代码中显式创建和管理JMS资源,而声明式模型通过WebLogic管理控制台或XML配置文件完成资源配置。 例如,一个简单的JMS生产者可能会创建一个消息,...

    Weblogic创建JMS服务器

    在WebLogic中配置JMS服务器是实现异步通信和解耦系统组件的关键步骤。 首先,我们要理解JMS服务器在WebLogic中的作用。JMS服务器负责管理消息生产者和消费者之间的交互,通过消息队列或主题来存储和传递消息。创建...

    weblogic11g JMS配置及PTP小测试

    WebLogic 11g JMS配置涉及创建JMS服务器、模块、连接工厂和队列,以便在企业级应用中实现消息传递。以下是对配置过程的详细说明: 1. **安装WebLogic 11g**:首先,需要安装Oracle WebLogic Server 11g,这通常包括...

    WebLogic 11g JMS图文配置 和 详细的示例代码

    综上所述,WebLogic 11g的JMS配置和示例代码是学习和使用JMS服务的关键,它们能帮助开发者更好地理解和实践消息传递机制,提升应用的并发处理能力和容错性。通过深入研究提供的资源,你可以掌握如何在WebLogic环境中...

    WebLogic JMS 介绍 打印版

    集群中的每个WebLogic JMS服务器实例管理自己的JMS主题和队列,但通过连接工厂,可以实现跨多个JMS服务器的负载平衡和集群范围的消息服务。 WebLogic JMS集群的特点包括: 1. 跨服务器的目的地负载平衡:系统管理员...

    WebLogic下配置的JMS.+例子

    在WebLogic中配置JMS,能够实现应用间的异步通信和解耦,提高系统的可扩展性和可靠性。 配置WebLogic的JMS主要包括以下几个步骤: 1. **创建JMS模块**: - 在WebLogic管理控制台中,进入“配置” -> “JMS模块”...

    weblogic与jms+spring

    1. 登录WebLogic Console,选择你创建的服务器实例,进入JMS配置。 2. 创建一个新的JMS模块,定义目的地(如队列或主题)以及相关的JMS服务器和连接工厂。 3. 配置必要的安全设置,确保只有授权的应用程序能够访问...

    Spring整合Weblogic jms实例详解

    Spring 整合 Weblogic JMS 实例详解 Spring 整合 Weblogic JMS 实例详解是指在 Spring 框架下整合 Weblogic JMS 服务器,以便在应用程序中使用 JMS messaging。这种整合方式可以提供高性能、可靠性和灵活性的消息...

    weblogic 详细配置手册

    2. 配置服务器实例:每个服务器实例都是WebLogic Server的一个运行实体,可以配置端口号、JVM参数、日志和诊断配置等。 3. 应用程序部署:将WAR、EAR或JAR文件部署到WebLogic Server上,包括设置部署目标、启动顺序...

    weblogic的配置向导

    配置向导会引导你创建服务器实例,这是WebLogic Server运行应用的地方。你可以设置服务器名称、主机名、端口等信息。如果要在集群环境中,可以在这里添加多个服务器实例,并分配到不同的集群。 **5. 配置网络通道**...

    weblogic 的配置详解

    【WebLogic配置详解】 WebLogic是由Oracle公司提供的一个企业级应用服务器,它是基于Java的中间件,用于构建、部署和管理分布式应用程序。本教程将详细讲解如何在Eclipse集成开发环境中配置WebLogic服务器,以便...

    weblogic 了解域配置

    在WebLogic中,“域”是管理和配置WebLogic Server实例、集群、数据源、JMS队列等各种服务和资源的基本单位。本文将深入探讨WebLogic Server的域配置。 一、域的概念 在WebLogic中,一个域包含一个或多个服务器实例...

    weblogic集群配置与部署

    WebLogic集群是由多个相互独立但协同工作的WebLogic Server实例组成,它们共享相同的域配置,并通过网络进行通信。每个实例都可以独立地运行应用,当一个实例出现故障时,其上的负载可以被其他健康的实例接管,从而...

    Weblogic提供JMS服务Demo

    这两个例子会覆盖创建、连接、发送和接收消息的关键操作,帮助你理解和掌握Weblogic上的JMS使用。 总的来说,通过这个Demo,开发者可以学习到如何在Weblogic环境中配置和使用JMS服务,这对于构建高可用性和可扩展性...

    weblogic集群安装配置手册.docx

    WebLogic集群安装配置手册主要涵盖了在Linux环境下搭建WebLogic集群的详细步骤,旨在为IT同行提供一个简单易懂的安装指南。以下是对整个过程的详细解释: 1. **WebLogic域创建及配置** - **进入域配置目录**:首先...

Global site tag (gtag.js) - Google Analytics