创建一个简单的工具类:
//ContextFactory.java
package com.youngmaster.jms.utils;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
/**
* @author youngmaster
* @E-mail:youngmaster.fly@gmail.com
* @version myEclipse 6.6
* @create time:Sep 26, 2009 1:55:42 AM
*/
public class ContextFactory {
@SuppressWarnings("unchecked")
public static Context getContext() throws Exception {
Hashtable props = new Hashtable();
props.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
props.put(Context.PROVIDER_URL, "localhost:1099");
props.put("java.naming.rmi.security.manager", "yes");
props.put(Context.URL_PKG_PREFIXES, "org.jboss.naming");
@SuppressWarnings("unused")
Context context = new InitialContext(props);
return context;
}
}
创建一个简单的java bean:
//Employee.jva
package com.youngmaster.jms.objectmsg;
import java.io.Serializable;
/**
* @author youngmaster
* @E-mail:youngmaster.fly@gmail.com
* @version myEclipse 6.6
* @create time:Sep 26, 2009 2:30:54 AM
*/
@SuppressWarnings("serial")
public class Employee implements Serializable {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
发送端:
//Sender.java
package com.youngmaster.jms.sender;
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 com.youngmaster.jms.objectmsg.Employee;
import com.youngmaster.jms.utils.ContextFactory;
/**
* @author youngmaster
* @E-mail:youngmaster.fly@gmail.com
* @version myEclipse 6.6
* @create time:Sep 26, 2009 3:03:08 AM
*/
public class Sender {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
/**
* access Context
*/
Context context=ContextFactory.getContext();
/**
* access QueueConnectionFactory
*/
QueueConnectionFactory factory=(QueueConnectionFactory) context.lookup("ConnectionFactory");
/**
* access QueueConnection
*/
QueueConnection connection=factory.createQueueConnection();
/**
* access QueueSession
*/
@SuppressWarnings("unused")
QueueSession queueSession =connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
/**
* create distination
*/
Queue queue = (Queue) context.lookup("queue/testQueue");
QueueSender sender = queueSession.createSender(queue);
/**
* create objectmsg
*/
ObjectMessage objectmessage = queueSession.createObjectMessage();
Employee employee = new Employee();
employee.setName("youngmaster");
objectmessage.setObject(employee);
sender.send(queue, objectmessage);
queueSession.close();
connection.close();
}
}
接送端:
//Receive.java
package com.youngmaster.jms.receive;
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.naming.Context;
import com.youngmaster.jms.utils.ContextFactory;
/**
* @author youngmaster
* @E-mail:youngmaster.fly@gmail.com
* @version myEclipse 6.6
* @create time:Sep 26, 2009 3:11:09 AM
*/
public class Receive {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
/**
* access Context
*/
Context context = ContextFactory.getContext();
/**
* access QueueConnectionFactory
*/
QueueConnectionFactory factory = (QueueConnectionFactory) context
.lookup("ConnectionFactory");
/**
* access QueueConnection
*/
QueueConnection connection = factory.createQueueConnection();
/**
* access QueueSession
*/
@SuppressWarnings("unused")
QueueSession queueSession = connection.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
/**
* create distination
*/
Queue queue = (Queue) context.lookup("queue/testQueue");
/**
* access QueueReceiver
*/
QueueReceiver queueReceiver = queueSession.createReceiver(queue);
queueReceiver.setMessageListener(new MyReceive());
connection.start();
}
}
创建一个监听器:
//MyReceive.java
package com.youngmaster.jms.receive;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import com.youngmaster.jms.objectmsg.Employee;
/**
* @author youngmaster
* @E-mail:youngmaster.fly@gmail.com
* @version myEclipse 6.6
* @create time:Sep 26, 2009 3:11:21 AM
*/
public class MyReceive implements MessageListener {
public void onMessage(Message arg0) {
ObjectMessage ob = (ObjectMessage) arg0;
Employee employee;
try {
employee = (Employee) ob.getObject();
System.out.println(employee.getName());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
NULL 博文链接:https://gavin-chen.iteye.com/blog/352527
ejb-3_0-fr-spec-ejbcore.pdf,ejb-3_0-fr-spec-persistence.pdf,ejb-3_0-fr-spec-simplified.pdf
EJB之消息驱动Bean的总结。ejb 消息驱动Bean j2ee jms java
标签:agent-ejb-3.0-beta-1-javadoc.jar,agent,ejb,3.0,beta,1,javadoc,jar包下载,依赖包
标签:agent-ejb-3.0-beta-1-sources.jar,agent,ejb,3.0,beta,1,sources,jar包下载,依赖包
resteasy-ejb resteasy-use-ejb 如何将项目本地上传到github上的repository 1.create repository on github 2.进入项目目录,执行以下命令#git add。 #git commit -m "..." #git remote add origin :库名.git #git ...
标签:agent-car-ejb-3.0-beta-1-sources.jar,agent,car,ejb,3.0,beta,1,sources,jar包下载,依赖包
标签:agent-ejb-3.0-beta-1.jar,agent,ejb,3.0,beta,1,jar包下载,依赖包
ejb-api-3.0-sources ejb3.0资源文件,源代码文件
NULL 博文链接:https://8366.iteye.com/blog/502114
ejb 消息驱动Bean例子.有Queue,Topic
许多初学者拜求的EJB知识点: @MessageDriven( activationConfig ={ @ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Topic"), @ActivationConfigProperty(property...
网上看的一个视频教程里的一个Demo,EJB消息驱动bean Demo。
学ejb的都应该用到,ejb-3_0-fr-spec-persistence.pdf
个人学习EJB-JSF-JPA-MINA 时用到的入门资料~ 适合初学者。 希望能帮到正在学习EJB、SF、JPA、MINA的初学者们。
NULL 博文链接:https://8366.iteye.com/blog/413863
实验一:使用Session Bean和JDBC技术完成登录和注册功能 实验二:使用Entity Bean替代JDBC完成登录和注册 实验三:在登录或注册成功之后,使用Message-Driven ...实验四:使用Servlet和JSP技术结合EJB完成登录和注册
ejb-3_1-pr-api ejb api
EJB中ejb-jar——xml文件说明.pdf
ejb-定时器-测试 EJB TIMER SERVICE API 使用测试项目 #文档和/或官方教程: ://docs.oracle.com/javaee/7/tutorial/ejb-basicexamples004.htm#BNBOY #API JavaEE7 #Examples 以及如何运行它们: 注意:在运行...