JMS在glassfish中的使用(1)——JMS入门

本文介绍了一个简单的Java消息服务(JMS)示例,该示例演示了如何在GlassFish服务器环境中通过JMS发送和接收消息。具体步骤包括创建连接工厂、建立连接、创建会话、设置队列、生产消息、消费消息等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常使用JMS,我想要做的事是,让客户端应用(桌面应用),通过JMS接收和发送信息到服务器(EJB3).以往的例子是用eclipse开发一个RCP程序,通过JMS连上JBOSS....诸如此类的应用。当然桌面应用连接服务器有至少3种方式,这里就别争论这些问题了。

开始工作
准备:1 安装好glassfishv2.1(现在可以安装更新版本)
2 准备好eclipse或者myeclipse
3 在glassfish安装目录下\imq\lib这里将有下面代码中所需要的jar包

第一个例子 hello
说明:此例子不使用JNDI,接收与发送都包含在一个主函数内


package jms;

/**
* The HelloWorldMessage class 向一个queue中发送信息和接收信息
*/

// Step 1:
// 这里我们需要导入两个jar包:jms.jar,imq.jar
import javax.jms.ConnectionFactory;
import javax.jms.Connection;
import javax.jms.Session;
import javax.jms.MessageProducer;
import javax.jms.MessageConsumer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.Message;
import javax.jms.TextMessage;
import java.util.*;

public class HelloWorldMessage {

public static void main(String[] args) {

try {

ConnectionFactory myConnFactory;
Queue myQueue;

// Step 2:
// 实例化 ConnectionFactory
myConnFactory = new com.sun.messaging.ConnectionFactory();

// Step 3:
// 创建一个连接
Connection myConn = myConnFactory.createConnection();

// Step 4:
// Create a session within the connection.
Session mySess = myConn.createSession(false,
Session.AUTO_ACKNOWLEDGE);

// Step 5:
// 创建队列目的地 myQueue = new com.sun.messaging.Queue("world");

// Step 6:
// 创建消息生产者.
MessageProducer myMsgProducer = mySess.createProducer(myQueue);

// Step 7:
// 创建信息到队列.
TextMessage myTextMsg = mySess.createTextMessage();
myTextMsg.setText("Hello World");
// System.out.println("Sending Message: " + myTextMsg.getText());
myMsgProducer.send(myTextMsg);

// Step 8:
// 创建一个消息消费者.
MessageConsumer myMsgConsumer = mySess.createConsumer(myQueue);

// Step 9:
// 启动连接.
myConn.start();

// Step 10:
// 消费者从队列接收消息.
Message msg = myMsgConsumer.receive();

// Step 11:
// 辨别消息类型.
if (msg instanceof TextMessage) {
TextMessage txtMsg = (TextMessage) msg;
System.out.println("Read Message: " + txtMsg.getText());
}

// Step 12:
// 关闭资源.
mySess.close();
myConn.close();

} catch (Exception jmse) {
System.out.println("Exception occurred : " + jmse.toString());
jmse.printStackTrace();
}
}
}

这个例子还无法做到应用连接服务器的目的。
[color=red]PS:以上代码参照glassfish demo代码[/color]

JMS在glassfish中的使用(2)近日更新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值