网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.在实际开发中教您NetBeans的使用.
.[Portal参考手册]Portlet概念.
.EJB 技术的数据库应用(1).
.P2P (Peer-to-peer technology) .
.Java连接器架构:EAI的未来?.
.完成技术跨越:Java语言的11个关.
.关于手机游戏中的炮弹轨迹—抛物.
.Java的中文编程与配置心得.
.Eclipse插件开发之Bytecode Outl.
.事件处理中UI的刷新问题(笔记体小.
.用EJB开发在线课堂.
.在Jini,RMI和Applet中如何实现代.
.多态与面向对象(二).
.部署WAR文件和绑定对象到HttpSes.
.Java中数组的返回.
.创建布局管理器.
.避免使用finalizer()函数.
.Java基础学习:functor的实现.
.javaapi混排算法.
.用Java实现PDF报表.

深入探讨EJB中新的消息驱动组件

发表日期:2008-1-5



  提要:我们可以使用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组件则描述一个实体的面向对象的概念,而这个实体往往存在于像数据库那样固定的存储容器中。在这两种组件模型中,使用本地的或远程的接口来简化客户端的交互作用。按照定义,这种交互作用是严格的同步的。举例来说,通过一个方法调用把一个请求发送给组件,然后服务器对象返回一个响应。


  然而,在企业版应用程序的范围中,也经常需要异步的消息传递,比方说,一个客户可能想发给服务器一条信息,但是并不需要或者不想要服务器做出应答,这时,客户端就没有必要等待服务器对象处理请求。对于客户端应用程序来说,在确保消息最终能够到达服务器并被正常处理的前提下,提交一条消息然后继续处理本身的事务,将会在很大的程度上提高效率。

  能够处理异步消息的能力的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);



// 指出我们将要接受信息的连接

上一篇:浅谈Java桌面应用程序开发 人气:866
下一篇:JBuilder2005创建开发文档之Javadoc 人气:490
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐