物理目的地名称不能包含('/') ,
大家一般喜欢把它和 JNDI 的名称统一起来 (jms/topic), 可是不行
其他的配置只要点几下鼠标即可
代码 (NetBeans EE project :pserver:pprun@cvs.dev.java.net:/cvs/hjpetstore/MyJMS)
1. 服务器端 (MDB - the subscriber)
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ejb;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.MessageListener;
/**
*
* @author pprun
*/
@MessageDriven(mappedName = "jms/topic", activationConfig = {
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
@ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "Durable"),
@ActivationConfigProperty(propertyName = "clientId", propertyValue = "MyMessageBean"),
@ActivationConfigProperty(propertyName = "subscriptionName", propertyValue = "MyMessageBean")
})
public class MyMessageBean implements MessageListener {
public MyMessageBean() {
}
MapMessage msg = null;
@Override
public void onMessage(Message message) {
try {
msg = (MapMessage) message;
System.out.println("----------------------");
System.out.println(msg.getString("lastname"));
System.out.println(msg.getString("firstname"));
System.out.println(msg.getString("id"));
System.out.println("----------------------");
} catch (JMSException ex) {
Logger.getLogger(MyMessageBean.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
2. client (Enterprise Client) - the message/topic producer
package myjms;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Resource;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.MapMessage;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.Topic;
/**
*
* @author pprun
*/
public class Main {
@Resource(mappedName="jms/topicFactory")
private static ConnectionFactory topicFactory;
@Resource(mappedName="jms/topic")
private static Topic topic;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Connection topicConnection = null;
Session session = null;
MapMessage message = null;
MessageProducer producer = null;
try {
topicConnection = topicFactory.createConnection();
session = topicConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
producer = session.createProducer(topic);
message = session.createMapMessage();
message.setString("lastname", "Pi");
message.setString("firstname", "Pprun");
message.setString("id", "1111");
producer.send(message);
} catch (Exception e) {
Logger.getLogger(Main.class.getCanonicalName()).log(Level.SEVERE, "error in jmx send...", e);
}
}
}
The Result (GlassFish log)
----------------------
Pi
Pprun
1111
----------------------
开源工程站点
https://hjpetstore.dev.java.net/source/browse/hjpetstore/MyJMS/
- 浏览: 312943 次
文章分类
- 全部博客 (308)
- Apple (1)
- MAC (6)
- iPhone (1)
- iOS (1)
- Adobe (3)
- Microsoft (23)
- Windows (12)
- WAP (2)
- CMPP (6)
- Eclipse (5)
- .NET (13)
- Router (3)
- ADO.NET (2)
- C# (11)
- WPF (3)
- SqlServer (4)
- Facebook (2)
- JDBC (1)
- Visual Studio (10)
- ActiveMQ (9)
- Java (112)
- Memcached (2)
- NoSQL (7)
- Hadoop (9)
- GlassFish (2)
- Linux (98)
- CentOS (58)
- Spring (10)
- Oracle (17)
- JBOSS (12)
- Webservice (4)
- EJB (7)
- DFS (1)
- Hibernate (9)
- Redis (3)
- Tomcat (5)
- Python (8)
- FastDFS (6)
- Nginx (6)
- RabbitMQ (0)
- Erlang (0)
- Lucene (8)
- Solr (7)
- MySQL (1)
- JavaScript (0)
最新评论
-
zhangy888:
你好,我正好也遇到了这个问题,按照您的设置有如下几个问题,请帮 ...
CXF SOAP 1.2 SOAP 1.1 问题 -
u011493586:
这个SUBMIT写的还不错,只是有的地方没看懂
CMPP发送超长短信息(JAVA版) -
u011493586:
...
CMPP发送超长短信息(JAVA版)
发表评论
-
遍历Map的四种方法
2015-01-28 11:14 424public static void main(Stri ... -
使用Perf4J进行性能分析和监控
2015-01-13 11:39 676许多开发人员都很熟悉墨菲法则的一个例子:他们发现在花费了大量 ... -
Nexus创建本地Maven仓库
2014-09-22 10:58 13380.安装环境 windows 7 x86-64 jdk1 ... -
HBase vs Cassandra: 我们迁移系统的原因
2014-09-03 21:13 711原文: http://ria101.wordp ... -
开源日志系统比较
2014-09-03 21:11 473作者:Dong | 新浪微博:西成懂 | 可以转载, 但必须 ... -
tokyotyrant-java客户端
2014-07-25 09:48 749目录: 概述 演示 [一]、概述 java实现了 ... -
IntelliJ IDEA 13试用手记(附详细截图)
2014-06-30 16:04 491从去年开始转java以来,一直在寻找一款趁手的兵器,ecl ... -
Heritrix使用的初步总结
2014-06-14 16:45 474一、框架介绍 公司最近项目要用到全文检索,检索对象是 ... -
利用 Heritrix 构建特定站点爬虫
2014-06-14 15:19 476本文由浅入深,详细介 ... -
Errors running builder 'DeploymentBuilder' on project
2014-06-09 14:20 6031.修改java源代码后点击保存,IDE 自动编译并热部署, ... -
开源中间件大舞台
2014-05-22 09:27 647全文主要内容:一、中间件是什么?二、中间件的主要作用三、中间 ... -
log4j使用DailyRollingFileAppender
2014-05-20 15:30 616DailyRollingFileAppender是 ... -
JVM系列四:生产环境参数实例及分析
2014-05-18 11:04 387java application项目(非web项目) ... -
solr中如何定义自己的解析器插件(QParserPlugin)
2014-05-15 13:39 1263/***************************** ... -
Lucene 基础理论
2014-05-15 11:43 7101. 全文检索系统与Lucene简介 1.1 什么是全 ... -
Lucene 4.0升级指南
2014-05-15 11:33 1191Apache Lucene Migration Guide ... -
Lucene的分析过程
2014-05-13 15:18 744回顾倒排索引的构建 收集待建索引的原文档(Do ... -
Lucene中文分析器的中文分词准确性和性能比较
2014-05-13 15:17 532对几种中文分析器,从分词准确性和效率两方面进行比较。分析器 ... -
CharTokenizer对西文字符进行分词处理
2014-05-12 22:00 513CharTokenizer是一个抽象类,它主要是对西文字符进 ... -
LUCENE3.0 自学吧 7 CharTokenizer
2014-05-12 21:58 478CharTokenizer 是一个抽象类,它主要是对 ...
相关推荐
作为IT行业的一名专家,我们知道GlassFish服务器是基于Java EE平台的,为开发者提供了一个全面的开发和部署环境,用于构建并运行多种Java应用程序,包括Web应用、EJB组件以及JMS消息服务等。 文件标题“GlassFish ...
5. **配置应用中的JMS连接**: 在你的Java代码或应用的配置文件中,你需要配置应用程序以使用在GlassFish中设置的JMS资源。这通常涉及通过JNDI查找获取连接工厂,并使用该工厂创建JMS连接。 6. **测试配置**: 完成...
【GlassFish 5.0 安装与配置详解】 GlassFish,由Oracle公司主导的开源项目,是一款功能强大的Web服务器和应用服务器,以其卓越的性能和丰富的特性在开发者社区中备受推崇。相比于Tomcat,GlassFish提供了更全面的...
5. **默认端口配置**:在默认情况下,Glassfish的管理端口为4848,HTTP服务端口为8080,JMS端口为7676,IIOP端口为3700。这些端口在安装过程中需要确保没有其他程序占用。 6. **启动与管理**:将Glassfish安装目录...
本文将详细讲解如何安装和配置Glassfish,以帮助初学者快速入门。 首先,理解Glassfish的角色至关重要。它是Java Enterprise Edition(Java EE)的参考实现,提供了对各种Java EE规范的支持,包括Servlet、JSP、EJB...
4. **资源管理**:允许开发者管理GlassFish服务器上的数据源、JMS资源等,方便配置应用程序所需的外部资源。 5. **热部署**:插件支持热部署,即在不中断服务器运行的情况下,更新应用代码,提高开发效率。 6. **...
此外,插件还集成了GlassFish管理控制台的部分功能,如查看服务器状态、管理数据源、JMS资源等,使得开发者无需离开Eclipse即可完成大部分管理工作。 总的来说,GlassFish插件为Eclipse开发者带来了极大的便利,...
《深入解析Glassfish-v2源码》 Glassfish-v2是一款基于Java EE 5标准的开源应用服务器,其源码的公开为开发者提供了深入了解和学习Java企业级开发的宝贵资源。在本文中,我们将深入探讨Glassfish-v2的核心概念、...
这份文档将详细讲解如何配置和管理Glassfish中的MQ服务,包括创建、配置队列和主题,以及监控和管理消息传递。 `administration-guide.pdf`是Glassfish的管理指南,涵盖了服务器的日常运维任务。它将详细介绍如何...
1. **安装与配置**:文档将指导如何下载和安装GlassFish服务器,包括设置环境变量、配置网络监听端口和初始化域。 2. **域管理**:GlassFish使用域的概念来组织多个服务器实例,域配置包括了服务器设置、数据源、...
由Oracle公司维护,它支持各种企业级服务,包括Web服务、EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JPA(Java Persistence API)以及Servlet和JSP等。作为NetBeans IDE的一部分,GlassFish为...
在Glassfish 4.0版本中,配置工具提供了一个直观的界面,使得配置过程相对简便。开发者可以通过命令行工具或管理控制台进行配置,同时也支持通过XML配置文件进行精细调整。 4. **性能调优** "glassfish-...
GlassFish作为Java EE的实现,遵循了完整的Java EE规范集,包括EJB(企业级JavaBean)、JPA(Java Persistence API)、JSF(JavaServer Faces)、JMS(Java消息服务)等。开发者可以使用GlassFish部署和运行各种Java...
GlassFish是Oracle公司主导的开源项目,它遵循JSR(Java Specification Requests)规范,支持Java EE的各种组件,如Servlet、JSP、EJB、JMS、JPA等。作为一款全面的企业级应用服务器,GlassFish提供了强大的管理和...
- **服务器实例配置:** 位于 `<glassfish-home>/domains/domain1/config/server.xml`。 - **资源适配器配置:** 位于 `<glassfish-home>/domains/domain1/config/ra.xml`。 #### 四、应用开发与部署 **1. 支持...
GlassFish Server的核心功能包括对Java Servlet、JavaServer Pages (JSP)、Java Persistence API (JPA)、EJB(Enterprise JavaBeans)、Java Message Service (JMS)、Java Transaction API (JTA)、Web服务等的支持。...
对于学习者来说,通过研究GlassFish 2.1源码,可以深入理解Java EE 5中的核心概念和技术,如JNDI(Java Naming and Directory Interface)、RMI(Remote Method Invocation)、JMS(Java Message Service)以及EJB的...
GlassFish包含了一个内置的JMS提供者,我们可以使用它来创建消息目的地(如队列或主题),并配置相应的连接工厂。在GlassFish管理控制台中,可以创建这些资源并进行配置。 在`soaptest`这个压缩包中,可能包含了...