今天学习MDB 遇到了一个问题,一直 topic not found ,在网上找到很多资料,都没有结果。因为网上的jboss版本都是4.x 而我的jboss 6 所以出错了。后来才知道是
在%JBOSS_HOME%\server\default\deploy\hornetq\hornetq-jms.xml中配置JMS 目标地址 如
<topic name="topic1">
<entry name="/topic/topic1"/>
</topic>
发送消息
public class TopicMsg extends Properties{
/**
*
*/
private static final long serialVersionUID = 1L;
public TopicMsg(){
InputStream in = Class.class.getResourceAsStream("jndi.properties");
try {
load(in);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
TopicSession tSession = null ; // session实例
TopicConnection tConnection = null;// 连接实例
Destination tDes = null;// 目标地址
MessageProducer tProducer = null;//发布消息对象
MapMessage mapMessage = null ;//消息的类型
try {
InitialContext context = new InitialContext();
TopicConnectionFactory fFactory = (TopicConnectionFactory)context.lookup("ConnectionFactory");
tConnection = fFactory.createTopicConnection();
// 第一个参数 是否在事物中 第二个参数 : 自动回复状态,已经收到消息
tSession = tConnection.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
tDes = (Destination)context.lookup("/topic/topic1");
tProducer = tSession.createProducer(tDes);// 发布消息参数是发布的目标地址
mapMessage = tSession.createMapMessage();
mapMessage.setStringProperty("key1", "value1");
mapMessage.setStringProperty("key2", "value2");
tProducer.send(mapMessage);
System.out.println("Topic 消息发送成功!");
} catch (NamingException e) {
e.printStackTrace();
} catch (JMSException ex){
ex.printStackTrace();
} finally{
try{
tSession.close();
tConnection.close();
}catch(JMSException jmsE){
jmsE.printStackTrace();
}
}
}
订阅者
/**
* 主题与订阅的消息
*
* @author liujx
*
*/
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),// 指定消息类别
@ActivationConfigProperty(propertyName = "destination", propertyValue = "topic/topic1") })// 指定目标地址
public class TopicMsg implements MessageListener {
public void onMessage(Message arg0) {
if(arg0 instanceof MapMessage){
try {
System.out.println("TopicMsg01 key1 = "+arg0.getStringProperty("key1"));
System.out.println("TopicMsg01 key2 = "+arg0.getStringProperty("key2"));
} catch (JMSException e) {
e.printStackTrace();
}
}
}
}
这样一个简单jms就完成了。
分享到:
相关推荐
JMS (Java Message Service) JTS/JTA (Java Transaction Service / Java Transaction API) Servlet and JSP (JavaServer Pages) JNDI (Java Naming and Directory Interface) 它还提供一些高级特性,比如集群、JMX、...
本文档描述了apache web服务器安装以及常用的编译模式;描述了apache+jboss3.2.6做负载均衡(load balance)的部署细节以及一些常见错误说明;描述了部署jboss3.2.3/3.2.6时一些心得、常用配置项
6.JBoss中的部署 二.JBOSS的配置 1. JBoss日志设置 2. web 服务的端口号的修改 3. JBoss 的安全设置 3.1 jmx-console 登录的用户名和密码设置 3.2 web-console 登录的用户名和密码设置 4. JBoss 数据源的配置 5. ...
再然后,第6、7章分别给出了JMS和消息驱动Bean、容器管理持久化的介绍。 第8章,探讨数据库的配置。我们将一步一步教会开发者,如何配置、使用MySQL和Oracle数据库。作为全书的结束,第9章将研究Hibernate,即如何在...
再然后,第 6、7 章分别给出了 JMS 和消息驱动 Bean、容器管理持久化的介绍。 第 8 章,探讨数据库的配置。我们将一步一步教会开发者,如何配置、使用MySQL 和 Oracle 数据库。作为全书的结束,第 9章将研究 ...
所使用的应用服务器是jboss 5.1和weblogic 11g,详细介绍了这两种应用服务器的安装和使用,以及如何在两大主流服务器上安装、部署java ee应用。 本书内容主要包括三部分,第一部分介绍java ee开发的基础知识,...
JBoss Seam 简介......................................................................................................................................................................... 11 Chapter 1. ...
⒋ 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上 ⒌ 支持多种传送协议:in-VM,...
这个工具是完全免费的Java开发工具,绿色软件,无需安装,主要给java初学者和一般...6.JMS向导: 用于JMS,消息驱动EJB和测试客户端自动创建, 目前支持SunAppServer9,Jboss4.2应用服务器 还有附加的教材中有大量实例可用,
它支持数据源、安全域、JMS 队列和任何其他自定义 CLI 可访问属性和路径等资源。 它还可以部署您的应用程序。 模块说明 波兰的信息技术中心管理 JBoss 应用服务器群。 本着 DevOps 方法论的精神,我们一直在寻找一种...
它支持数据源、安全域、JMS 队列和任何其他自定义 CLI 可访问属性和路径等资源。 它还可以部署您的应用程序。 模块说明 波兰的信息技术中心管理 JBoss 应用服务器群。 本着 DevOps 方法论的精神,我们一直在寻找一种...
这个工具是完全免费的Java开发工具FistJava2的教材,具有大量的JAVA和J2EE开发实例,FistJava2这个工具绿色软件,无需...6.JMS向导: 用于JMS,消息驱动EJB和测试客户端自动创建, 目前支持SunAppServer9,Jboss4.2应用服务器
在部署EJB的消息驱动Bean时遇到...org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@2705ea(ra=org.jboss.resource.adapter.jms. JmsResourceAdapter@737612 destination=queue/myqueue destinationType=jav
basic-jms-app:使用作为 EAR 部署的多种 Java EE 6 技术的示例 作者:Pete Muir 级别:中级技术:EAR 摘要:基于 kitchensink,但部署为 EAR 目标产品:EAP 来源: : 它是什么? 这是你的项目! 这是一个示例、可...
在这个演示中,我们使用部署在 JBoss EAP 6.3.3 中的 JBoss HornetQ。 :JBoss BRMS CEP 应用程序。 CEP 引擎从(持久)主题接收事件并将它们发送到 BRMS 引擎进行处理。 在这个演示中,我们并行运行 2 个引擎。 ...
4、通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上 5、支持多种传送协议:in-...
209 10.3 如何在活动中调用EJB方法 214 10.4 使用jms活动 215 10.4.1 模拟JMS服务 217 10.4.2 JMS文本消息 219 10.4.3 JMS Object消息 220 10.4.4 JMS Map消息 222 10.5 历史会话监听链 223 10.6 自定义Web任务表单 ...
企业事件总线 (EEB) 使用 Fuse Service Works 的企业事件总线... 可以部署到 OSGI 以及服务器 JEE 支持 如何跑步 在wildfly中配置Camel http jboss-eap默认没有配置camel http模块,按照步骤配置一个 将 module.xm