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
分享到:
相关推荐
**JBoss 7 配置 JMS 知识点详解** JBoss Application Server(简称 JBoss AS)是一款开源的企业级 Java 应用服务器,由 Red Hat 公司维护。JBoss 7 是其一个重要的版本,它引入了许多新特性和性能优化。在 JBoss 7 ...
【JBoss JMS包详解】 JBoss JMS(Java Message Service)是Red Hat公司开发的JMS实现,它是JBoss Application Server的一部分,提供了一个标准、可靠且面向消息的中间件服务。在分布式环境中,JMS作为异步通信的...
总结来说,JBOSS中的JMS应用实例涉及了JMS的基本概念、JBOSST的配置、代码编写以及具体的应用场景。通过实践这些步骤,开发者可以掌握如何在JBOSST环境中利用JMS进行高效的数据通信。同时,提供的文档和项目文件为...
JBoss AS(Application Server)是一款开源的Java EE应用服务器,提供了全面的企业级服务,包括EJB容器、Web容器、JMS服务、集群与负载均衡等功能。它支持最新的Java EE标准,并且完全免费,因此在企业级开发中得到...
5. **Jboss JMS配置**: 在Jboss应用服务器中,JMS服务需要在Jboss配置文件(如`jboss-service.xml`或`standalone.xml`)中正确配置。这通常涉及设置消息代理(例如HornetQ或ActiveMQ),定义目的地(队列或主题)...
5. **JMS事务管理** - **XAResource**:JBoss支持使用JTA(Java Transaction API)进行事务管理,可以保证消息的原子性、一致性、隔离性和持久性。 - **事务提交与回滚**:根据业务需求,可以决定是使用自动提交...
【JBoss 服务器下的 JMS 实例】 Java 消息服务 (JMS) 是 Java 平台中用于处理异步消息传递的标准API,它在面向服务架构 (SOA) 中扮演着关键角色,特别是在需要与外部系统进行异步通信的企业环境中。JBoss 服务器...
JBoss5是JBoss企业应用平台(JBoss Enterprise Application Platform)的一个重要版本,它基于Java EE 5规范,为开发者提供了全面的中间件服务,包括Web服务器、EJB容器、JMS消息服务、事务管理等。在这一部分中,...
【JBoss5服务器详解】 JBoss5,全称为JBoss Application Server 5,是Red Hat公司推出的基于Java EE(Java Enterprise Edition)规范的开源中间件平台。作为一个强大的Java Web容器,它提供了对多种企业级服务的...
### JBoss AS 5 Development: 关键知识点解析 #### 一、JBoss AS 5 概述 **JBoss AS 5(Application Server 5)**是JBoss组织推出的一款开源应用服务器,它为Java应用程序提供了强大的运行环境。JBoss AS 5在企业...
4. JMS(Java Message Service):支持异步消息传递。 5. JTA(Java Transaction API):处理分布式事务管理。 总的来说,JBoss 作为一个强大的开源应用服务器,因其免费、高效、易用和丰富的功能,深受开发者喜爱...
1. **核心服务**:JBoss的核心服务包括事务管理、安全管理、命名与目录服务、JMS消息队列等。这部分源代码展示了如何实现这些基础服务,并与Java EE规范相集成。例如,`jboss.getTransaction`包下的源码涉及到JTA...
【标题】:“(转)JBOSS7.1下开发JMS(HornetQ)的示例DEMO” 在本文中,我们将深入探讨如何在JBoss Application Server 7.1 (JBoss AS 7.1)环境中开发Java消息服务(JMS)应用程序,特别是使用HornetQ作为消息...
在JBOSS 环境中配置JMS,在程序中可以通过JNDI 获取连接,如消息启动Bean 就可以通过JNDI获取:@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue ...
5. **JMS与消息传递**:讨论Java Message Service (JMS)在JBoss AS 5中的应用,如何创建消息生产者和消费者,以及如何配置JMS目的地。 6. **事务管理**:介绍JBoss AS 5的事务服务,包括本地事务和全局事务,以及...
它包含了执行Java EE规范所需的各种组件,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JPA(Java Persistence API)、JSF(JavaServer Faces)等,这些都为构建分布式、事务处理和面向服务的架构...
此文件位于`$JBOSS_HOME/server/default/deploy/jms/`目录下,主要用于配置JMS服务端口。 ```xml <mbean code="org.jboss.mq.il.uil2.UILServerILService"> <attribute name="ServerBindPort">8093 ``` 同样...
**JBOSS5**是一个开源的应用服务器,它实现了Java EE 5规范,包括对EJB3和JPA的支持。JBOSS5提供了一个运行环境,开发者可以在其中部署和运行EJB3应用。它包含了Web服务器、JMS(Java Message Service)、JTA(Java ...
JBoss AS 5是基于EJB 3.0规范的,支持Servlet 2.5和JSP 2.1,同时还包含了对JSF、JPA和JMS等Java技术的支持。 1. **安装JBoss 5** 在Windows和Linux平台上安装JBoss AS 5的步骤大致相似。首先,从官方网站下载...