package com.eway.jms;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
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;
import com.eway.pojo.Inhospitaldata;
import com.eway.util.Propertie;
/**
*
* @author yanghui
* @2009-07-03
* @消息发送
*
*/
public class QMProducer {
/**
* 定义JNDI上下文构造器
*/
public final static String JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory";
/**
* 定义JMS上下文构造器
*/
public final static String JMS_FACTORY = "jms/QueueConnectionFactory";
/***************************************************************************
* 定义消息列队
*/
public final static String QUEUE = "jms/fileQueue";
// 声明队列连接构造器
private QueueConnectionFactory queueConnectionFactory = null;
// 声明队列连接
private QueueConnection queueConnection = null;
// 声明队列会话
private QueueSession queueSession = null;
// 声明队列发送
private QueueSender queueSender = null;
// 声明队列
private Queue queue = null;
// 声明发送对象方式
private ObjectMessage msg = null;
public void init(Context ctx, String queueName) {
try {
queueConnectionFactory = (QueueConnectionFactory) ctx
.lookup(JMS_FACTORY);
queueConnection = queueConnectionFactory.createQueueConnection();
queueSession = queueConnection.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
queue = (Queue) ctx.lookup(queueName);
queueSender = queueSession.createSender(queue);
msg = queueSession.createObjectMessage();
queueConnection.start();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void send(List<Inhospitaldata> message) throws JMSException {
msg.setObject((Serializable) message);
queueSender.send(msg);
}
public void close() throws JMSException {
queueSender.close();
queueSession.close();
queueConnection.close();
}
public void sendInfo(List<Inhospitaldata> inhospitaldataList) {
try {
System.setProperty(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
System.setProperty(Context.PROVIDER_URL, Propertie.getPropertie()
.getProperty("provider"));
Context context = new InitialContext();
init(context, QUEUE);
send(inhospitaldataList);
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
close();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
QMProducer producer = new QMProducer();
Inhospitaldata inhospitaldata = new Inhospitaldata();
inhospitaldata.setXm("yanghui131");
List<Inhospitaldata> list = new ArrayList<Inhospitaldata>();
list.add(inhospitaldata);
producer.sendInfo(list);
System.out.println("发送成功");
}
}
分享到:
- 2008-05-05 11:51
- 浏览 1994
- 评论(8)
- 论坛回复 / 浏览 (8 / 6757)
- 查看更多
相关推荐
本教程将深入探讨如何将这两个强大的工具结合在一起,以创建一个简单的发送JMS消息的入门实例。 首先,我们需要理解ActiveMQ的基本概念。ActiveMQ是Apache软件基金会开发的一个开源消息代理,它实现了JMS规范,提供...
在某些实例中,我们可能会看到如何在发送或接收消息时开启事务,确保消息的原子性。 通过这八个实例的学习,你将能够全面掌握JMS的核心特性和使用方式,理解其在实际项目中的应用,提升你在企业级应用开发中的消息...
在WebSphere MQ中,我们可以通过以下步骤创建一个简单的JMS发送消息的实例: 1. **配置WebSphere MQ**:首先,你需要安装并配置WebSphere MQ服务器。这包括设置队列管理器、定义队列以及配置通道以允许客户端连接。...
总结来说,"activeMQ-JMS实例"是一个基于Spring MVC的示例,它演示了如何使用Spring的JMS支持与ActiveMQ结合,实现消息的发送和接收。这个实例对于学习和理解JMS以及如何在实际项目中应用它是很有帮助的。通过这个...
接着,创建消息生产者,实例化消息对象(如TextMessage或ObjectMessage),设置消息属性,最后调用`send()`方法将消息发送到目的地(队列或主题)。 ```java Connection connection = ...; // 创建连接 Session ...
JMS (Java Message Service) 是 Java 消息服务,提供标准的产生、发送、接收消息的接口,简化企业应用的开发。JMS 支持两种消息通信模型:点到点(point-to-point)(P2P)模型和发布/订阅(Pub/Sub)模型。 点到点...
**JMS整合Spring实例** Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。它允许应用程序创建、发送、接收和读取消息,以此来解耦生产者和消费者。而Spring框架...
JMS允许应用程序创建、发送、接收和读取消息,以此来解耦生产者和消费者,使得两者不必同时在线也能进行通信。在基于WebLogic的环境中,JMS被广泛应用于构建可扩展、高可用性的应用程序。 WebLogic Server是Oracle...
1. 概念理解:JMS是Java平台中用于企业级消息传递的API,它定义了生产、发送、接收和消费消息的标准接口。 2. 消息模型:JMS支持两种消息模型——点对点(Point-to-Point)和发布/订阅(Publish/Subscribe)。前者...
本教程将带你逐步了解如何利用Tomcat、Spring和JMS(Java Message Service)构建一个简单的异步消息传递入门实例。 首先,让我们来理解一下核心组件: 1. **Tomcat**:这是一个流行的开源Java Servlet容器,用于...
本文将详细解析如何通过编码实现MQ连接池,以便有效地管理和发送JMS消息。 首先,理解JMS的基本概念是至关重要的。JMS提供两种主要的消息模型:点对点(Point-to-Point,P2P)和发布/订阅(Publish/Subscribe,Pub/...
在这个"spring jms tomcat 异步消息传递入门实例"中,我们将探讨如何在Spring框架下利用JMS和Tomcat实现异步消息传递,以提高系统性能和可扩展性。 首先,理解异步消息传递的概念至关重要。在同步通信中,发送方...
Destinations:Destinations 是指消息发送客户端的消息目标和消息接收客户端的消息来源,它也是预先在 jms.xml 定义好的。对于 PTP 类型,Destinations 对应的类型为 Queue,对于 Pub/Sub 类型,Destinations 对应的...
总结起来,`javax.jms.jar` 包提供了Java开发人员与JMS兼容的消息中间件进行通信的工具,而`demo` 文件中的实例代码展示了如何在实际应用中使用这些工具。通过学习和实践这些示例,你可以更好地理解和掌握Java消息...
例如,使用`javax.jms.ConnectionFactory`创建连接,`javax.jms.Queue`或`javax.jms.Topic`定义目的地,`javax.jms.MessageProducer`发送消息,`javax.jms.MessageConsumer`接收消息。消息可以是TextMessage、...
JMS允许开发者在不关心接收方是否在线或能够立即处理消息的情况下发送数据,从而提高系统的可伸缩性和容错性。 **JMS基本概念** 1. **JMS API**:JMS 提供了一组接口和类,使得开发者能够创建、发送、接收和消费...
在JMS中,消息被发送到一个消息代理(message broker),然后由消费者从该代理接收消息。这种方式允许应用程序之间进行解耦,使得它们可以在无需直接交互的情况下交换数据。 JMS主要包含两种模型: 1. 点对点...
在Spring框架中集成Java消息服务(JMS,Java Message Service)是实现企业级应用间异步通信的关键技术。本工程实例提供了一个基于Eclipse的项目,包含完整的代码和注释,便于开发者快速理解和运行。下面将详细介绍...
本实例将聚焦于WebSphere MQ的基本应用,即“发送消息”。 首先,我们需要了解消息中间件的基本概念。消息中间件作为一个独立的服务,负责在不同的应用程序之间传递数据,使得它们可以解耦并独立工作。WebSphere MQ...