EJB中用JMS模拟多线程机制的设计和实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2003-10-16
作者简介:高 燕(1976—
),女,四川人,硕士研究生,主要研究方向为计算机网络与信息系统。
E JB 中用JMS 模拟多线程机制的设计和实现
高 燕,李旭伟,文 震
(四川大学计算机学院,四川成都610064)
摘 要:多线程机制是提高系统执行效率的关键,但对于采用E JB 技术的服务器端,由于E JB 规范限制使用多线程机制,因此执行效率往往不那么令人满意。针对E JB 中不能使用线程这一缺陷,文中给出了在E JB 中如何用J MS 来模拟多线程机制并提供了一个具体的实现方案,将该方案用于网管系统中并发的获取各网络设备的MIB 信息以计算某一网络性能指标时取得了令人满意的成绩,大大缩短了系统运行的时间。从而可知在E JB 中采用J MS 技术来模拟多线程机制不仅在理论上可行,在实际应用中也是可行的。
关键词:多线程机制;企业JavaBean ;Java 消息服务
中图分类号:TP311.52 文献标识码:A 文章编号:1005-3751(2004)07-0040-03
Design and Implementation of Simulating Multithread
Architecture with JMS in EJB
G AO Yan ,L I Xu 2wei ,WEN Zhen
(Department of Computer Science ,Sichuan University ,Chengdu 610064,China )
Abstract :It is a kind of key technology of multithread architecture to improve system executive efficiency ,but server uses E JB technology has not satisfying executive efficiency ,because E JB technology prohibits developers from using multithread architecture.This paper has explained how to simulate multithread architecture with J MS and presented a design according to the fact that multithread architecture can not be used in E JB ,when network management system uses the design to collect MIB information of network devices by which a network performance index can calculated ,the result is very good and executive time is shortened.So the design of simulating multithread architec 2ture with J MS in E JB is feasible not only in theory ,but also in application.K ey w ords :multithread architecture ;E JB ;J MS
随着J2EE 规范的成熟,E JB 技术已经在很多企业级的解决方案中得到了应用。针对软件执行效率这一客户关心的问题,一般采用的是多线程机制实现并发处理,但是对采用E JB 技术的应用服务器端这一问题却没能解决,因为E JB 规范为了消除与E JB 容器管理死锁、线程和并发问题的责任相冲突的可能性,限制使用任何方法启动、停止和管理线程。这就提出一个问题:在E JB 中如何实现多线程的机制?答案是采用J MS 技术。
1 相关技术介绍
1.1 EJB (E nterprise JavaB eans)简介
E JB 是实现了特定商业逻辑的JavaBean ,它部署在应
用服务器端的Container 中,可以灵活地加载、载出[1]。
J2EE 使用E JB Server 作为商业组件的部署环境,在E JB Server 中提供了分布式计算环境中组件需要的所有服务,
例如组件生命周期的管理、数据库连接的管理、分布式事务的支持、组件的命名服务等等,因此开发人员可以将精力更多的放在业务逻辑的实现上。
E JB 支持多种客户端的访问,HTTP 的客户端可以
通过Web Server 上的Java Servlet 或者J SP 发出请求,由
J SP 中嵌入的Java 代码调用运行在E JB Server 中的E JB 。
而其它的客户端,可以通过IIOP 直接访问运行在E JB
Server 中的组件。E JB 主要由会话bean (Session Bean )和
实体bean (Entity Bean )、消息驱动bean (Message -Driven
Bean )构成。会话bean 代表客户端代码需要调用的操作。
它是业务处理对象,实现了业务逻辑、业务规则、算法和工作流程。实体bean 用来代表底层的对象。最常用的是用实体bean 代表关系库中的资料。消息驱动bean 是在
E JB2.0规范中新增的一种Bean 类型。它是一种可以接
收J MS 消息的特殊的组件。由于MDB 不是RPC 组件,因此区别于其它类型的E JB ,MDB 不需要Remote 和
Home 接口。
1.2 JMS(Java Message Service)简介
(1)J MS 产生背景。
第14卷 第7期2004年7月 微 机 发 展Microcomputer Development Vol.14 No.7J uly 2004