开发消息驱动bean
1定义消息驱动bean 服务
定义queue 和topic 消息驱动bean。
- <?xml version="1.0" encoding="UTF-8"?>
- <server>
-
<mbean code="org.jboss.mq.server.jmx.Queue"
-
name="jboss.mq.destination:service=Queue,name=itcastQueue">
-
<attribute name="JNDIName">queue/itcastQueue</attribute>
-
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
- </mbean>
-
<mbean code="org.jboss.mq.server.jmx.Topic"
-
name="jboss.mq.destination:service=Topic,name=itcastTopic">
-
<attribute name="JNDIName">topic/itcastTopic</attribute>
-
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
- </mbean>
- </server>
2 向bean 发送消息
- InitialContext ctx = new InitialContext();
-
QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup("QueueConnectionFactory");
- QueueConnection conn = factory.createQueueConnection();
-
QueueSession session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
-
Destination destination = (Destination)ctx.lookup("queue/itcastQueue");
- MessageProducer producer = session.createProducer(destination);
-
producer.send(session.createTextMessage("你好"));
- session.close();
- conn.close();
topic消息 只需要将Queue改成Topic 即可
3 从bean中接受消息
- @MessageDriven(activationConfig={
-
@ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
-
@ActivationConfigProperty(propertyName="destination", propertyValue="queue/itcastQueue")
- })
-
public class MessageDrivenBean implements MessageListener{
-
-
public void onMessage(Message message) {
-
try {
- TextMessage msg = (TextMessage)message;
-
System.out.println(msg.getText());
-
} catch (JMSException e) {
- e.printStackTrace();
- }
- }
- }
4 消息:
消息,由消息头和消息正文组成
JMS的异步性:JMS生产者发送消息后,无需阻塞进程,不需要管谁是消费者。
JMS消息传递模型:JMS Provider提供两种消息传递模型,及发布-订阅模型(Pub/Sub)和点对点模型(PtP)。
StreamMessage
MapMessage
TextMessage
ObjectMessage
BytesMessage
分享到:
相关推荐
### EJB3课堂笔记知识点概览 #### 一、EJB 概述 - **EJB 定义**: Enterprise JavaBeans (EJB),即企业级Java Bean,是一种用于开发、部署服务器端分布式组件的标准(规范),它采用了Java语言进行编写。 - **EJB ...
学习EJB3过程中自己总结的一些关于学习EJB3的技术点,以及可能遇到的问题
WebLogic EJB学习笔记主要涵盖了企业级Java Bean(Enterprise JavaBeans,简称EJB)在Oracle WebLogic Server中的应用和管理。EJB是Java EE(Java Platform, Enterprise Edition)平台的核心组件,用于构建可扩展、...
### EJB学习笔记第六部分详解 #### 一、EJB之间的调用 EJB (Enterprise JavaBeans) 是Java EE平台中用于开发分布式企业应用程序的重要组件。在实际开发过程中,经常需要一个EJB调用另一个EJB来实现更复杂的业务...
**EJB3.0 学习笔记** EJB(Enterprise JavaBeans)是Java EE平台中的核心组件,用于构建可扩展的、安全的、事务处理的分布式应用程序。EJB3.0是EJB的一个重大更新,引入了许多改进,使得开发过程更为简化,降低了...
在深入探讨《ejb学习笔记》这一主题之前,我们首先需要理解什么是EJB(Enterprise JavaBeans)。EJB是Java平台为企业级应用开发提供的一套组件模型,它属于J2EE(Java 2 Platform, Enterprise Edition)的一部分,...
### 深入解析《ejb学习笔记5》——消息驱动Bean详解 #### 消息驱动Bean概述 消息驱动Bean(MDB,Message Driven Bean)是Enterprise JavaBeans(EJB)框架中的一个重要组成部分,主要用于接收并处理来自消息中间件...
**EJB概述** Enterprise JavaBeans(EJB)是Java平台企业版(Java EE)的核心组成部分,主要用于构建可扩展、安全且事务处理...学习EJB可以帮助理解企业级应用的复杂性,同时也能更好地评估和选择现代化的开发方案。
Weblogic EJB 学习笔记主要涵盖了EJB(Enterprise JavaBeans)的基础知识,包括无状态会话bean、有状态会话bean和实体bean这三种主要的EJB类型,以及EJB在Weblogic服务器中的配置和事务管理。 1. **无状态会话bean*...
EJB简单入门,是自己在学习过程做好的笔记。里面有很多具体的实例。
【EJB学习笔记2】 EJB,全称Enterprise JavaBeans,是Java EE(现在被称为Jakarta EE)平台的一部分,主要用于构建可复用的、安全的、可伸缩的服务器端应用程序。EJB标准定义了一组规范,使得开发者可以创建分布式...
【EJB学习笔记】 EJB,全称为Enterprise Java Beans,是Java平台上的一个标准,用于开发和部署服务器端的分布式组件。它基于Java语言,为创建高效能、安全且可扩展的企业级应用提供了框架。EJB规范由Java ...
### JavaEE5学习笔记05-EJB之会话Bean总结 #### EJB(Enterprise JavaBeans)简介 EJB(Enterprise JavaBeans)是Java EE平台的一部分,用于开发和部署可重用的服务组件。EJB规范定义了如何编写、部署以及管理企业...
### EJB学习笔记4:深入理解实体与JPA #### 实体的概念与作用 实体,在企业级Java开发中,特别是EJB(Enterprise JavaBeans)框架下,指的是具有持久化能力的POJO(Plain Old Java Object)类。不同于实体Bean...
### EJB学习笔记7知识点详解 #### 实体(消息)- 重点篇章解析 ##### 继承映射策略深入理解 在实体继承映射中,我们主要探讨了三种不同的策略,每种策略都有其特定的应用场景及优缺点。 1. **所有继承结构一张表...
【EJB学习笔记、运行机制】 企业级程序(Enterprise Application)是围绕商业目的设计的,具有分布分层的程序架构。这种类型的程序旨在满足大型企业的复杂需求,通常涉及多个组件和层,确保系统的稳定性和可扩展性...
经典资料+个人心得,希望大家能喜欢
### EJB学习笔记8:深入理解事务处理机制 #### 一、事务的背景知识 **事务**是指一系列操作,这些操作作为一个不可分割的工作单元来执行,即要么全部完成,要么完全不执行。事务的主要特性包括: - **原子性...
5. **生命周期管理**:EJB容器负责Bean的创建、初始化、激活、钝化、销毁等过程,开发者只需关注业务逻辑。 6. **资源注入**:通过依赖注入(Dependency Injection,DI)机制,EJB可以从容器中自动获取所需的资源,...