- 浏览: 442797 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
鱼里的yeol:
正在学习EJB 感觉有些吃力
Ejb3学习之二----Ejb3的Ejb Bean类型介绍 -
phoenix5870:
默认就是singleton的。
Spring中的Singleton模式和Java中的Singleton模式 -
jhys7s8jd:
pdf打印机下载 无水印http://www.onlinedo ...
PDFCreate工具的使用 -
wang371134086:
:e vil:
浅谈Struts2中的拦截器实现责任链模式 -
liu765023051:
亲,local与remote有什么区别呢
EJB学习之三---Local和Remote接口
前面已经介绍过EJB的Session Bean,这篇文章主要介绍EJb的消息驱动bean---MDB.
Key
消息驱动Bean定义
发布消息方式
实现MDB
Sample
一 消息驱动Bean定义
二 发布消息方式
1. P2P(Point to Point)
2. Pub-Sub(Publish/Subcrib)
三 实现MDB
四 Sample:
1. P2P的MDB
1) 消息驱动EJB:QueueMdbBean
2)MDB client:
2. PUB/SUB的MDB
1) 消息驱动EJB:TopicMdbBean
2)MDB client:
Key
消息驱动Bean定义
发布消息方式
实现MDB
Sample
一 消息驱动Bean定义
二 发布消息方式
1. P2P(Point to Point)
2. Pub-Sub(Publish/Subcrib)
三 实现MDB
四 Sample:
1. P2P的MDB
1) 消息驱动EJB:QueueMdbBean
import javax.ejb.ActivationConfigProperty; import javax.ejb.MessageDriven; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.TextMessage; /** * @author Jamson Huang * */ @MessageDriven( activationConfig={ @ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Queue"), @ActivationConfigProperty(propertyName="destination",propertyValue="queue/QueueMdb") } ) /*P2P*/ public class QueueMdbBean implements MessageListener { /* (non-Javadoc) * @see javax.jms.MessageListener#onMessage(javax.jms.Message) */ public void onMessage(Message msg) { try{ TextMessage txtMsg = (TextMessage)msg; System.out.println("Queue Text:"+ txtMsg.getText()); }catch(Exception ex){ ex.printStackTrace(); } } }
2)MDB client:
import javax.jms.Queue; import javax.jms.QueueConnection; import javax.jms.QueueConnectionFactory; import javax.jms.QueueSender; import javax.jms.QueueSession; import javax.jms.TextMessage; import javax.naming.InitialContext; /** * @author Jamson Huang * */ public class QueueMdbEjbBeanClient { /** * @param args */ public static void main(String[] args) throws Exception { InitialContext context = new InitialContext(); QueueConnectionFactory factory = (QueueConnectionFactory)context.lookup("ConnectionFactory"); QueueConnection conn = factory.createQueueConnection(); QueueSession session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE); Queue queue = (Queue)context.lookup("queue/QueueMdb"); TextMessage txtMsg = session.createTextMessage("Hello world, Jamson"); QueueSender sender = session.createSender(queue); sender.send(txtMsg); System.out.println(txtMsg.getText()); session.close(); conn.close(); System.out.println("queue has been sent!"); } } }
2. PUB/SUB的MDB
1) 消息驱动EJB:TopicMdbBean
import javax.ejb.ActivationConfigProperty; import javax.ejb.MessageDriven; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.TextMessage; /** * @author Jamson Huang * */ @MessageDriven( activationConfig={ @ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Topic"), @ActivationConfigProperty(propertyName="destination",propertyValue="topic/TopicMdb") } ) public class TopicMdbBean implements MessageListener { /* (non-Javadoc) * @see javax.jms.MessageListener#onMessage(javax.jms.Message) */ public void onMessage(Message msg) { // TODO Auto-generated method stub try{ TextMessage txtMsg = (TextMessage)msg; System.out.println("Queue Text:"+ txtMsg.getText()); }catch(Exception ex){ ex.printStackTrace(); } } }
2)MDB client:
import javax.jms.TextMessage; import javax.jms.Topic; import javax.jms.TopicConnection; import javax.jms.TopicConnectionFactory; import javax.jms.TopicPublisher; import javax.jms.TopicSession; import javax.naming.InitialContext; /** * @author Jamson Huang * */ public class TopicMdbEjbBeanClient { /** * @param args */ public static void main(String[] args) throws Exception { InitialContext context = new InitialContext(); TopicConnectionFactory factory = (TopicConnectionFactory)context.lookup("ConnectionFactory"); TopicConnection conn = factory.createTopicConnection(); TopicSession session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE); Topic topic = (Topic)context.lookup("topic/TopicMdb"); TextMessage txtMsg = session.createTextMessage("Hello world, Jamson"); TopicPublisher publisher = session.createPublisher(topic); publisher.send(txtMsg); System.out.println(txtMsg.getText()); session.close(); conn.close(); System.out.println("Topic has been sent!"); } }
发表评论
-
OS Workflow Intruction
2011-03-14 01:58 1647OSWorkflow是一个灵活的工作流引擎,设计成可嵌入到企业 ... -
SSL单双向验证原理(转)
2010-06-07 22:34 2897Key points SSL验证 双向SSL ... -
Spring2.5学习之三----AOP研究
2010-05-31 12:09 6475Key Points AOP的基本概念 Advice的类型 A ... -
Spring2.5学习之二----依赖注入
2010-05-30 17:22 2431Key points 依赖注入的原理 依赖注入的方式---XM ... -
Spring学习之一----创建Bean的三种方法
2010-05-30 14:29 27663关键字 BeanFactory ApplicationCont ... -
EJB3学习之四----EJB3新特性(元数据注解和依赖注入)
2010-05-13 01:39 4145EJB3新特性 元数据注解 依赖注入 一 EJB3新特性 ... -
Ejb3学习之二----Ejb3的Ejb Bean类型介绍
2010-05-11 23:01 3239关于Ejb3的Ejb bean类型介 ... -
EJB学习之三---Local和Remote接口
2010-05-10 23:12 8228这篇文章主要来学习Ejb的组成元素,重点介绍Local和Rem ... -
Ejb学习之一---EJB3+Jboss4.2配置开发
2010-05-09 02:59 2867昨天,打算把Ejb整理下,最早用到Ejb+Jboss是在三年前 ... -
Struts Taglib库之(一)Bean讲解
2010-05-05 23:29 0最近准备换工作,也想把一些工作中用到的技术进行链接起来,就把它 ... -
转:Hibernate中cascade和inverse的相关
2011-11-19 17:51 648FROM:http://developer.51cto.com ... -
Struts1和Struts2有何不同?
2010-04-19 00:42 0Struts1和Struts2的区别和对比: Action ... -
Struts2中的Vistor模式
2010-04-19 00:40 1513Visitor访问者模式定义 作用于某个对象群中各个对象的操作 ... -
Spring中的Singleton模式和Prototype模式
2010-04-19 00:06 1796对于在Spring+Struts2结合配置Action=&qu ... -
WebService介绍
2010-04-18 17:01 2948记得初次接触WebService是 ... -
Spring中的Singleton模式和Java中的Singleton模式
2010-04-17 17:09 12660对于Spring中实现Singleton模式,是以IOC容器为 ... -
JavaMail来读取和发送邮件的基本流程
2010-04-15 01:21 1918在应用程序中使用JavaMail来读取邮件的基本流程如下: ... -
SSH框架优缺点【转】
2010-04-15 00:53 6131在过去的一年里,可能 ... -
J2EE面试题
2010-04-14 11:17 0一、基础问答 1.下 ... -
JTOM
2010-04-13 00:24 0JTOM是一个基于Java开放源代码的事物处理管理器。它遵 ...
相关推荐
虽然MDB负责处理消息,但是由运行MDB的EJB容器负责处理服务(事务、安全、资源、并发、消息确认,等等),使bean开发者把精力集中在处理消息的业务逻辑上。传统的JMS应用程序必须定制地编写一部分这些服务。MDB在...
EJB MDB JNDI配置信息(包含Jboss,WebLogice..)
设置环境下载解开 glassfish 的拉链编辑 build.properties 文件指向 glassfish 所在的文件夹运行应用程序打开一个终端...glassfish 终端中,应显示消息: |MESSAGE BEAN: Message received: IS-Expert|参考 MDB的.html
许多初学者拜求的EJB知识点: @MessageDriven( activationConfig ={ @ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Topic"), @ActivationConfigProperty(property...
example mdb EJB3.0
自己总结的EJB3上课教案,包括SessionBean、EntityBean、MDB、O/R映射与继承映射、持久化实体管理器、EJB3-QL、JTA等的教案.
NULL 博文链接:https://seanwon.iteye.com/blog/721230
主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务
8.4.1 打包EJB-JAR 315 8.4.2 Annotation与部署描述文件 315 8.5 开发有状态的Session Bean 318 8.6 Session Bean的生命周期 321 8.6.1 无状态Session Bean的生命周期 321 8.6.2 有状态Session Bean的生命周期 322 ...
这是我做的j2ee课程设计项目,基于web service,ejb3.0,mdb,hibernate的集成实现了登录验证模块。里面有详细的步骤说明,除了环境(myeclipse,jboss5.0,mysql)需要自己配置之外,其他的资源都有。 希望可以帮助到...
在支持Web服务的同时,EJB2.1也改进了EJB-QL以及消息驱动bean(MDB)的编程模型。该编程模型目前已经扩展至Java消息服务之上以支持任何一种消息系统。另外,新标准也推出了一种新的计时器服务,使得开发人员可以设计...
详细介绍EJB中的实体Bean 及消息驱动Bean.具体内容有什么是实体/消息驱动Bean,各自特点,何时使用.生命周期,回调方法.及各自有简单示例.
为了支持异步通信,J2EE 1.3规范还引入了一种新的EJB类型:消息驱动的Bean,即Message Driven Bean,简称MDB。如前所述,在JMS之前,J2EE原来是一个建立在Java RMI-IIOP通信协议基础上的同步环境,但MDB却具有接收...
1.3 消息驱动Bean(MDB): 2.会话Bean(Session Bean) 2.1因为客户端需要通过JNDI查找EJB,那么JNDI 是什么 2.2 Stateless Session Beans(无状态bean)开发 2.3 Stateless Session Bean与Stateful Session Bean的区三...
第五章 消息驱动Bean(MDB).........327 EJB3.0.....329 第一章 EJB3.0 Foundation...............329 第二章 Session Bean........................330 第三章 消息驱动Bean(MDB).........332 第四章 JPA(Java ...
企业分布式计算的实验报告,主要是ejb中的消息驱动Bean(MDB)
第五章 消息驱动Bean(MDB).........327 EJB3.0.....329 第一章 EJB3.0 Foundation...............329 第二章 Session Bean........................330 第三章 消息驱动Bean(MDB).........332 第四章 JPA(Java ...
消息驱动Bean(MDB)是设计用来专门处理基于消息请求的组件,文章在简单介绍WebLogic的基础上重点从4个方面讨论了消息驱动Bean。