当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

深化根究EJB中新的消息驱动组件[Java编程]

赞助商链接



  本文“深化根究EJB中新的消息驱动组件[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

概要:我们可以利用MessageDrivenBean(消息驱动组件),在企业级的利用程序中举行异步的消息传送.

引言:Enterprise JavaBeans(EJB)1.1版本中定义了两种组件范例—session组件和entity组件.客户端对象可以同步伐用EJB1.1的这两种组件的办法,但是,为了担当Message Oriented Middleware(MOM,面向对象的中间件)和Java Message Service(JMS,Java消息服务)的长处的需求,EJB框架中也呼应的该当加入异步的消息通讯机制,所以,在EJB2.0中就定义了第三种组件范例----MessageDrivenBean(消息驱动组件)

MessageDrivenBean兼备EJB和JMS的功效,当然,假如您想要消息操作技术,那么您大可只利用JMS就行了,但是新的消息驱动组件MessageDrivenBean供应了消息通讯的新的大概性.那么,这些组件若何整合到一个利用程序服务器框架中?他们的功效又若何扩大了过去JMS服务器的利用范围?让我们看下文吧!

EJB和JMS

前面我们已经说过了,EJB1.1种为开辟者定义了两个企业级组件范例-----session和entity组件.session组件普通实现一些商业逻辑并且不能在多客户端共用.Entity组件则描写一个实体的面向对象的概念,而这个实体常常存在于像数据库那样固定的存储容器中.在这两种组件模子中,利用本地的或远程的接口来简化客户端的交互作用.按照定义,这种交互作用是严峻的同步的.举例来说,通过一个办法调用把一个恳求发送给组件,然后服务器对象返回一个呼应.(如图1),

但是,在企业版利用程序的范围中,也常常需求异步的消息传送,比方说,一个客户大概想发给服务器一条信息,但是并不需求大概不想要服务器做出应答,这时,客户端就没有必要等候服务器对象处理恳求.关于客户端利用程序来说,在确保消息终究可以到达服务器并被正常处理的前提下,提交一条消息然后持续处理本身的事件,将会在很大的程度上提高效率.

可以处理异步消息的本领的Java技术可以在Java Message Service(JMS)中找到,JMS本来就是被开辟来供应传统的Message Oriented Middleware(MOM)产品的一个尺度Java接口.

目前,一些公司开辟出了一整套新一代轻量级高效的纯Java的JMS产品,这些产品是开辟者可以成立JMS衔接来公布或从别的利用程序组件中承受消息.下面的例程给出了与一个JMS供应者接口的必要步骤:

代码段一:预备客户端

客户端利用程序利用了带有JMS 主题的MessageListener来承受和处理消息.

import javax.jms.*;
/**
*一个例程,演示若何获得一个JMS
*衔接并获得一个消息监听者.在本例中
*我们将获得一个与一个JMS主题的衔接
*/
public class JMSSample {
public static void main (String args[])
{
InitialContext context = new InitialContext();
// 查找主题
Topic topic (Topic)context.lookup("MyTopic");
file://获得我们成立JMS衔接时所要用到的衔接成立器
TopicConnectionFactory tcf =
(TopicConnectionFactory)context.lookup(
"TopicConnectionFactory");
// 成立JMS衔接
TopicConnection conn = tcf.createTopicConnection();
// 从衔接中成立JMS session.
// 这样我们便可以成立一个非事件处理、AUTO_ACKNOWLEDGE的衔接
TopicSession session = conn.createTopicSession(
false, Session.AUTO_ACKNOWLEDGE);
// 成立主题定阅者
TopicSubscriber subscriber =
session.createSubscriber(topic);
// 监听者
subscriber.setMessageListener(myListener);
// 指出我们将要承受信息的衔接
conn.start();
}
}


  以上是“深化根究EJB中新的消息驱动组件[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Java源码解析:深化根究Iterator情势
  • <b>深化根究JavaMail API的操纵</b>
  • 深化根究EJB中新的消息驱动组件
  • <b>深化根究Spring与Struts的集成策划</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .