Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java EE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 [转载]EJB 2.1 的新特征
阿熊



发贴: 0
积分: 0
于 2002-07-18 09:17 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
June 19th, 2002, the EJB 2.1 Specification first Draft was released, so what's new in EJB 2.1 over EJB 2.0?

作为 Sun 用来和 M$ 竞争的平台, J2EE 必须要能更有效更快速地对业界标准提供方便有效简洁的支持. EJB 是 J2EE 平台的核心部件, 理所当然的担任了这个重担. 现在的 EJB 相比与 1.0 规范时, 简直是不可同日而语, 成熟多了. 我们来看看, 相对于 EJB 2.0, 2.1 版本有什么新内容:

1: Web Service Enabled
可以说这是 2.1 规范最大的变化和目的. 现在可以允许 Stateless SessionBean 和 Message Driven Bean 被作为 Web-Service 发布. 客户端可以通过任何语言(M$.NET, Perl 等兼容 SOAP 1.1 规范的语言) 基于 SOAP 协议访问 MDB & Stateless SB.

2: 增强了 EJB-QL 语言的能力 (针对 CMP EntityBean)
包括增强了 Where-Clause, 一些标准统计函数如 AVG, COUNT, MAX, MIN, SUM, MOD(取模) 等 和 Order By 字句, 总之, EJB-QL 越来越像 SQL 了.

这一点最高兴, 因为最实际用到, 以前我都用 BMP, 一个一个复杂关系的表作 BMP 麻烦死了, 要自己控制事务, 现在越来越方便了.

3: Timer-Service
EntityBean & Stateless SB 可以登记为支持 Timed Event 的对象了, 当一定时间到达或者某个时间点到达时, Container 会通知/触发该对象.

看看这个 javax.ejb package 新添加的东东:

public interface javax.ejb.TimerService {
   public Timer createTimer(long duration,
                             java.io.Serializable info);
   public Timer createTimer(long initialDuration,
                            long intervalDuration,
                            java.io.Serializable info);
  public Timer createTimer(java.util.Date expiration,
                                   java.io.Serializable info);
      public Timer createTimer(java.util.Date initialExpirationExpiration,
                             long intervalDuration,
                            java.io.Serializable info);
      public Collection getTimers(); }

这个功能也是非常有用的, 现在 JBoss 中可以支持 TimeService, 但是主流的服务器还是不支持(不过相信很快就会支持了, EJB 2.1 规范实在是太好了! ), 如果需要做一个 Daemon Service 一类的程序, 还是很麻烦, 只能通过线程, 运行在另外一个 JVM 中来实现. 想一想, 这些麻烦事情都由 Container 来完成, 多爽! EJB 2.0 规范提出的 MDB (Message Driven Bean) 本来就非常好用, 以前我在项目中用到 JMS, 编起来还需要一堆类, 我现在的项目中用了 MDB, 感觉已经很方便了, 但是在做定时服务时还是只能用 VC 做了一个 Windows 服务程序, 定时同步数据, 如果在 EJB 2.1 中, 我就可以直接用 Time-Serviced Session Bean 了!!!

重要的是, 这个 Time-Service 同样是支持 Transaction 的.

4: 其他改进
主要是 Update 了与 EJB 相关的 APIs 的实现版本, 比如支持 JMS 1.1, JCA 1.5, J2EE 1.4 等

现在的 EJB 2.1 规范还是 Draft, 相信到最终出现时会更加强大, 完整, 方便!
个人认为, Sun 现在对 Java 尤其是 J2EE, 报的希望非常大, 在 J2EE 的发展上非常积极和有效率, 各种业界标准, 建议, 事实等, 都在考虑加入 Java 体系. 比如 Web-Service, JAXP, 比如大家一直诟病的 EJB-QL, 还有在很多开源项目和其他产品中出现的新技术, 只要是证明有效, 就会在下一个版本中有所体现.

J2EE 爱好者的福音.

现在正在看 JSP 2.0 Specification Draft 1, 很快会写一片简介.

要看 EJB 2.1 Specs 的, 到 Sun Website 下载:

http://java.sun.com/products/ejb/docs.html
英文原文
http://www.theserverside.com/resources/article.jsp?l=MonsonHaefel-Column1




flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923