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
分享到:
相关推荐
总的来说,JMS入门实例结合WebLogic的安装和配置,为初学者提供了一个了解和实践Java消息服务的完整流程。通过这个过程,开发者可以学习到如何在WebLogic这样的企业级应用服务器上构建可靠的消息传递系统,以及如何...
WebLogic 9.2配置JMS(Java Message Service)涉及一系列步骤,主要目的是为了实现分布式消息传递,包括点对点的Queue模式和发布/订阅的Topic模式。在本例中,我们将专注于配置发布/订阅模式,即Topic。以下是详细的...
本教程将深入探讨如何在Linux环境下配置Weblogic集群以及Weblogic JMS集群,这对于提高应用程序的可用性和可扩展性至关重要。 首先,让我们了解一下Weblogic集群的基本概念。Weblogic集群是指一组独立的Weblogic...
同时也实现了远程传送消息和本地传送消息,另外也分别实现了session的事务和非事务模式,有了这三个例子应该可以满足你的任何关于jms的需求了,由于上传限制,另外还需要下载有个WebLogic包才能运行实例
在WebLogic服务器上配置Java消息服务(JMS)是实现分布式消息传递的关键步骤,它允许应用程序在异步模式下交换数据。以下是详细配置JMS服务的步骤,涵盖了连接工厂、消息存储、JMS服务器以及消息目的地的配置。 1. ...
在实现JMS实例时,你可以采用编程模型或声明式模型。编程模型需要在代码中显式创建和管理JMS资源,而声明式模型通过WebLogic管理控制台或XML配置文件完成资源配置。 例如,一个简单的JMS生产者可能会创建一个消息,...
在WebLogic中配置JMS服务器是实现异步通信和解耦系统组件的关键步骤。 首先,我们要理解JMS服务器在WebLogic中的作用。JMS服务器负责管理消息生产者和消费者之间的交互,通过消息队列或主题来存储和传递消息。创建...
WebLogic 11g JMS配置涉及创建JMS服务器、模块、连接工厂和队列,以便在企业级应用中实现消息传递。以下是对配置过程的详细说明: 1. **安装WebLogic 11g**:首先,需要安装Oracle WebLogic Server 11g,这通常包括...
综上所述,WebLogic 11g的JMS配置和示例代码是学习和使用JMS服务的关键,它们能帮助开发者更好地理解和实践消息传递机制,提升应用的并发处理能力和容错性。通过深入研究提供的资源,你可以掌握如何在WebLogic环境中...
集群中的每个WebLogic JMS服务器实例管理自己的JMS主题和队列,但通过连接工厂,可以实现跨多个JMS服务器的负载平衡和集群范围的消息服务。 WebLogic JMS集群的特点包括: 1. 跨服务器的目的地负载平衡:系统管理员...
在WebLogic中配置JMS,能够实现应用间的异步通信和解耦,提高系统的可扩展性和可靠性。 配置WebLogic的JMS主要包括以下几个步骤: 1. **创建JMS模块**: - 在WebLogic管理控制台中,进入“配置” -> “JMS模块”...
1. 登录WebLogic Console,选择你创建的服务器实例,进入JMS配置。 2. 创建一个新的JMS模块,定义目的地(如队列或主题)以及相关的JMS服务器和连接工厂。 3. 配置必要的安全设置,确保只有授权的应用程序能够访问...
Spring 整合 Weblogic JMS 实例详解 Spring 整合 Weblogic JMS 实例详解是指在 Spring 框架下整合 Weblogic JMS 服务器,以便在应用程序中使用 JMS messaging。这种整合方式可以提供高性能、可靠性和灵活性的消息...
2. 配置服务器实例:每个服务器实例都是WebLogic Server的一个运行实体,可以配置端口号、JVM参数、日志和诊断配置等。 3. 应用程序部署:将WAR、EAR或JAR文件部署到WebLogic Server上,包括设置部署目标、启动顺序...
配置向导会引导你创建服务器实例,这是WebLogic Server运行应用的地方。你可以设置服务器名称、主机名、端口等信息。如果要在集群环境中,可以在这里添加多个服务器实例,并分配到不同的集群。 **5. 配置网络通道**...
【WebLogic配置详解】 WebLogic是由Oracle公司提供的一个企业级应用服务器,它是基于Java的中间件,用于构建、部署和管理分布式应用程序。本教程将详细讲解如何在Eclipse集成开发环境中配置WebLogic服务器,以便...
在WebLogic中,“域”是管理和配置WebLogic Server实例、集群、数据源、JMS队列等各种服务和资源的基本单位。本文将深入探讨WebLogic Server的域配置。 一、域的概念 在WebLogic中,一个域包含一个或多个服务器实例...
WebLogic集群是由多个相互独立但协同工作的WebLogic Server实例组成,它们共享相同的域配置,并通过网络进行通信。每个实例都可以独立地运行应用,当一个实例出现故障时,其上的负载可以被其他健康的实例接管,从而...
这两个例子会覆盖创建、连接、发送和接收消息的关键操作,帮助你理解和掌握Weblogic上的JMS使用。 总的来说,通过这个Demo,开发者可以学习到如何在Weblogic环境中配置和使用JMS服务,这对于构建高可用性和可扩展性...
WebLogic集群安装配置手册主要涵盖了在Linux环境下搭建WebLogic集群的详细步骤,旨在为IT同行提供一个简单易懂的安装指南。以下是对整个过程的详细解释: 1. **WebLogic域创建及配置** - **进入域配置目录**:首先...