jboss 5 : JMS
来源:互联网 发布:txt电子书制作软件 编辑:程序博客网 时间:2024/05/29 09:47
1 添加Destination
修改域deploy下messaging文件夹下的destinations-service.xml文件
添加一个mbean:
<mbean code="org.jboss.jms.server.destination.QueueService" name="jboss.messaging.destination:service=Queue,name=OrderBillingQueue" xmbean-dd="xmdesc/Queue-xmbean.xml"> <attribute name="JNDIName">queue/OrderBillingQueue</attribute> <depends optional-attribute-name="ServerPeer"> jboss.messaging:service=ServerPeer </depends> <depends>jboss.messaging:service=PostOffice</depends> <attribute name="RedeliveryDelay">10000</attribute> <attribute name="MaxDeliveryAttempts">3</attribute> </mbean>
2 添加MDB:
可根据自己的情况修改下面的代码
package ejb3inaction.example.buslogic;import javax.ejb.ActivationConfigProperty;import javax.ejb.MessageDriven;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageListener;import javax.jms.ObjectMessage;@MessageDriven(activationConfig={ @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"), @ActivationConfigProperty(propertyName="destination",propertyValue="queue/OrderBillingQueue")})public class OrderBillingMDB implements MessageListener { public void onMessage(Message message) { ObjectMessage objectMsg = (ObjectMessage)message ; try { Order order = (Order)objectMsg.getObject() ; order.setStatus(OrderStatus.COMPLETE) ; System.out.printf("order is finished." ) ; } catch (JMSException e) { e.printStackTrace(); } }}
3 测试代码
视自己的情况修改:
try { Context context = new InitialContext() ; connectionFactory = (ConnectionFactory)context.lookup("/ConnectionFactory") ; destination = (Destination)context.lookup("queue/OrderBillingQueue") ; } catch (NamingException e1) { e1.printStackTrace(); } Order order = new Order() ; order.setBidderId(bidderId) ; order.setItems(items) ; order.setShippingInfo(shippingInfo) ; order.setBidderId(bidderId) ; order.setStatus(OrderStatus.NEW) ; System.out.println("调用jms从bill中扣掉所需……,设置订单状态……") ; try { Connection conn = connectionFactory.createConnection() ; Session session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE) ; ObjectMessage message = session.createObjectMessage() ; message.setObject(order) ; MessageProducer producer = session.createProducer(destination) ; producer.send(message) ; session.commit() ; producer.close() ; session.close() ; conn.close() ; } catch (JMSException e) { e.printStackTrace(); }
4 如果context取到的东西为空,则在src下添加jndi.properties
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1099
转自:http://www.blogjava.net/guanshuiwang/archive/2010/01/12/jboss_5_jms.html
0 0
- jboss 5 : JMS
- JBoss和JMS
- JBoss和JMS
- JBoss和JMS
- JBOSS JMS 用户配置
- jboss 和 jms
- Jboss 6 JMS 部署
- JBoss和JMS(转)
- JMS与JBOSS
- JMS(Jboss Messaging)
- jboss 下使用jms
- JBOSS建立JMS应用实例
- JBOSS建立JMS应用实例
- jboss hornetq jms 用户文档
- jboss中如何使用jms
- JMS - javax.jms.IllegalStateException in JBOSS问题之解决
- jboss-4.2.3.GA 配置JMS集群
- jboss 5.0.1GA配置jms
- android asmack 注册 登陆 聊天 多人聊天室 文件传输
- ie不支持getElementsByClassName,所以要自己实现获取类名为className的所有元素。
- 程序异常监视脚本
- python抓取搜索到的url,小型爬虫
- servlet及编程规范
- jboss 5 : JMS
- Java 项目中,用到cookie记住我中,存在登录名乱码问题?
- LeetCode Remove Duplicates from Sorted Array
- test
- vsftpd配置详解
- redhat7.0修改开机启动模式
- Vim强大的自动补全YCM
- 【第11篇】通过GSON的TreeReader与JsonReader去处理json数据
- 火星人敏捷开发手册视频培训上线了!