通常使用JMS,我想要做的事是,让客户端应用(桌面应用),通过JMS接收和发送信息到服务器(EJB3).以往的例子是用eclipse开发一个RCP程序,通过JMS连上JBOSS....诸如此类的应用。当然桌面应用连接服务器有至少3种方式,这里就别争论这些问题了。
开始工作
准备:1 安装好glassfishv2.1(现在可以安装更新版本)
2 准备好eclipse或者myeclipse
3 在glassfish安装目录下\imq\lib这里将有下面代码中所需要的jar包
第一个例子 hello
说明:此例子不使用JNDI,接收与发送都包含在一个主函数内
这个例子还无法做到应用连接服务器的目的。
[color=red]PS:以上代码参照glassfish demo代码[/color]
JMS在glassfish中的使用(2)近日更新
开始工作
准备: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)近日更新