package com.jms;
import java.util.Hashtable;
import javax.jms.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class SendRecvClient {
static CountDown done = new CountDown(1);
QueueConnection conn;
QueueSession session;
Queue que;
public static class ExListener implements MessageListener {
public void onMessage(Message msg) {
done.release();
TextMessage tm = (TextMessage)msg;
try {
System.out.println("onMessage, recv text=" + tm.getText());
} catch (Exception e) {
e.printStackTrace();
}
}
}
@SuppressWarnings("unchecked")
public void setupPTP() throws NamingException, JMSException {
// Hashtable env = new Hashtable();
// env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
// env.put(Context.PROVIDER_URL, "localhost:1099");
InitialContext iniCtx = new InitialContext();
Object tmp = iniCtx.lookup("ConnectionFactory");
QueueConnectionFactory qcf = (QueueConnectionFactory)tmp;
conn = qcf.createQueueConnection();
que = (Queue)iniCtx.lookup("/queue/DLQ");
session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
conn.start();
}
public void sendRecvAsync(String text) throws NamingException, JMSException {
System.out.println("Begin sendRecvAsyc");
setupPTP();
QueueReceiver recv = session.createReceiver(que);
recv.setMessageListener(new ExListener());
QueueSender send = session.createSender(que);
TextMessage tm = session.createTextMessage(text);
send.send(tm);
System.out.println("sendRecvAsyc sent=" + tm.getText());
send.close();
System.out.println("End sendRecvAsyc");
}
public void stop() throws JMSException {
conn.stop();
session.close();
conn.close();
}
public static void main(String[] args) {
SendRecvClient client = new SendRecvClient();
try {
client.sendRecvAsync("hello world");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
注意:jboss6的JMS设置在deploy目录hornetq下hornetq-jms.xml
把jboss final6/client下jbossall-client.jar加入到jre路径下
分享到:
相关推荐
**JBoss 7 配置 JMS 知识点详解** JBoss Application Server(简称 JBoss AS)是一款开源的企业级 Java 应用服务器,由 Red Hat 公司维护。JBoss 7 是其一个重要的版本,它引入了许多新特性和性能优化。在 JBoss 7 ...
2. 配置JMS资源:在JBOSST的配置文件(如standalone.xml或domain.xml)中,需要添加JMS相关的配置,包括连接工厂、队列和主题等。 三、创建JMS应用 1. 创建JMS模块:在JBOSST中,JMS模块定义了消息服务的配置,包括...
6. **JBoss EAP与WildFly中的JMS** - **JBoss EAP**:企业级应用平台,包含完整的JMS支持。 - **WildFly**:轻量级的开源应用服务器,也包含了JBoss JMS的实现。 7. **与其他技术的集成** - **JEE集成**:与EJB...
在JBOSS 环境中配置JMS,在程序中可以通过JNDI 获取连接,如消息启动Bean 就可以通过JNDI获取:@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue ...
JBoss 7.1.1 是一款开源的应用服务器,它基于Java EE 6规范,提供了对Web服务、EJB、JMS、JPA等技术的支持。本配置指南旨在详细阐述JBoss 7.1.1的特性、配置方法以及管理实践,帮助用户深入了解并有效地利用该版本。...
#### JBOSS6特性 - **云就绪**:增强了对云计算环境的适应能力,包括支持虚拟化和容器技术。 - **Web Profile**:提供了更轻量级的配置选项,适合Web应用开发。 #### JBOSS7特性 - **全新架构**:采用了微内核架构...
【JBoss 服务器下的 JMS 实例】 Java 消息服务 (JMS) 是 Java 平台中用于处理异步消息传递的标准API,它在面向服务架构 (SOA) 中扮演着关键角色,特别是在需要与外部系统进行异步通信的企业环境中。JBoss 服务器...
【JBoss配置详解】 JBoss,作为一款开源的应用服务器,是Java EE平台的重要实现之一。在本文中,我们将深入探讨JBoss的配置过程,包括下载安装、目录结构解析以及关键配置项的调整。 首先,我们来看一下JBoss的...
- **配置JMS资源**:在`standalone.xml`或`domain.xml`配置文件中,配置JMS目的地(如队列或主题)、连接工厂等。这通常涉及到添加必要的XML元素,并指定相关属性。 3. **创建JMS应用程序** - **编写消息生产者**...
这些库文件使得Spring能够管理和配置JMS资源,如连接工厂和消息模板。 2. **配置文件**: 在EJB工程中,通常没有`web.xml`文件,因此需要通过XML配置文件来设置JMS组件。在提供的配置示例中,使用了Spring的命名...
6. **其他高级配置**:除了以上基础配置,JBOSS还支持日志管理、事务管理、集群部署、JMX监控等多种功能,其配置文件分布在`server/default/conf`和`server/default/deploy`目录下。例如,`logging.properties`用于...
JBoss AS 5是基于EJB 3.0规范的,支持Servlet 2.5和JSP 2.1,同时还包含了对JSF、JPA和JMS等Java技术的支持。 1. **安装JBoss 5** 在Windows和Linux平台上安装JBoss AS 5的步骤大致相似。首先,从官方网站下载...
3. **`uil2-service.xml`**:此文件用于配置JBoss的消息服务端口,如JMS服务端口等。 4. **`jboss-services.xml`**:此文件用于配置其他服务端口,如EJB服务端口等。 #### 三、具体配置 ##### 1. Web服务端口配置 ...
JBoss 是一个流行的开源Java应用服务器,它支持多种类型的集群配置,包括EJB、HTTP、JNDI和JMS。在这些集群类型中,HTTP集群尤其重要,因为它专注于处理Web应用的高可用性和负载均衡。HTTP集群主要有两个核心功能:...
另一方面,JBOSS是Red Hat公司的一个开源应用服务器,基于Java EE(Enterprise Edition)标准,支持EJB(Enterprise JavaBeans)、JMS(Java Message Service)等多种服务。配置JBOSS主要包括以下几个步骤: 1. **...
JBoss是一款开源的应用服务器,它基于Java EE(Enterprise Edition)标准,提供了丰富的中间件服务,支持Web应用、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等。在本文中,我们将详细介绍如何进行...
例如,可以通过修改`server/default/conf/jboss-service.xml`来配置JMS服务,或者通过`server/default/deploy/jboss-jmx-console.war/WEB-INF/web.xml`调整JMX Console的安全性。 在进行JBoss的配置时,确保熟悉...
以下是对标题和描述中涉及的JBoss配置知识点的详细说明: 一、设置控制台登录窗口 默认情况下,JBoss的JMX控制台(http://localhost:8080/jmx-console)无需身份验证即可访问,这可能导致安全隐患。为了增强安全性...
下面将详细介绍JBOSS配置的相关知识点。 1. **启动配置**:JBOSS的启动配置主要在`standalone.xml`或`domain.xml`文件中,这两个文件定义了服务器的运行模式。`standalone`模式适用于单节点部署,而`domain`模式则...