|
|
|
|
在放假期间,我发现 Bean 验证规范的 Public Review Draft 版本已出来了。该规范是用于 JavaEE 6 的最后的批处理。下面是基于传递 JCP 的完整清单(如果漏掉哪个,我会再补上的);这些都是 PRD 版本或者已经过时;唯一的例外是 Java EE 6 它自身(JSR 316),从定义来看,它落后于其他版本。
| • WebBeans (Gavin King, JSR 299, @TA |
其中有些规范已经过投票表决:EJB 3.1(结果)和 JPA 2.0(结果);其他规范的投票表决在 1 月 6 日开始:JCA 1.6, Servlet 3.0, JSF 2.0,最后一个批处理在 2 月 3 日开始:Bean Validation, WebBeans。
| 我们下一次网上研讨会是有关 Seam 框架和 GlassFish Server 的,在 11 月 20 日,这周四举办。改在上午 11:00(太平洋时间)开始。 研讨会的大部分内容是 Dan Allen 来做演讲,他是 Manning's Seam in Action 和 Mojave Linux 博客的作者。我一直在试着包括至少一个演示,或许还有关于 WebBeans 的非正式讨论及其配套规范(EJB 3.1 和 JSF 2.0)。最终的详情请参阅显示 Wiki 页面。 |
| EJB 3.1 一直在不断进步。Ken 概述了 EJB 3.1,作为上周四 GlassFish 技术日的一部分(幻灯片、录制视频)),而且 Mahesh 指出了如何支持 Singleton,作为 GFv3 Prelude 启动 Blogfest 的一部分。 实际上,如 Ken 所述,以下是“更新中心”的几种功能,只需点击即可了解:WAR 打包、Singleton、非接口视图和可移植全局 JNDI 名称。 |
因此,了解一下详情,并让 Ken 和 Mahesh 知道它是否适合您。
| Gavin 是 JSR 299 专家组的规范主管,他已宣布发布 WebBeans 的首次公开测试版(下载页面)。 在 11 月 20 日,Dan Allen(著有 Seam in Action 一书)计划就 Seam、WebBean 和 GlassFish 在 TheAquarium Channel 进行演讲时,您可能也想安排一次演讲。 |
| GlassFish 用户可能认为 EJB 3、JPA 和依赖注入理应与 Java EE 5 兼容,但对于其他与 Java EE 5 兼容的应用服务器,Adam Bien 在 JavaWorld 中有关的 EJB 3 的文章中很及时地对此进行了说明。该文章讨论了 EJB 3 如何简化企业级开发,并成为适用于大型,甚至中小型应用程序的技术。 |
Adam 介绍说“(EJB's) 实际上是用于企业级服务器端应用程序的唯一厂商中立且便携的解决方案”,并且站在开发人员的角度,继续将 EJB 3 与以前的版本进行对比。该文章介绍了如何使用依赖注入、POJO 和注释方式来替换查找和工厂,而且还介绍了 ejb-jar.xml 以及拦截器(作为轻量级 AOP 在此处描述)的使用情况。
该文章最后总结了 EJB 3.1 即将添加的增强功能,例如更容易的打包 (WAR)、非接口视图、单体模式,等等...,请确保您查看了 GlassFish v3 "Prelude" 的更新中心提供的 EJB 3.1 预览功能。
|
Ken 将继续在他的博客中介绍产品的新功能,这是他在发布第一个试用版后开始的做法。早期试用版有([1],
[2],
[3],
[4]) 。他最近写的文档是EJB 3.1 公共试用版指南。
|
|
这个星期我们有两个Webinars: • 星期一, Sept 29th, 9am PT, 有个 Special Webinar for GlassFish Partners, 讨论 GlassFish v3 Prelude 和GlassFish 今后的roadmap. • 星期二, Oct 2nd, 11:15am PT, 会由Ken Saks讲 Overview of EJB 3.1, (注意到开会的时间有改变). Ken 说 EG 的初稿快要写好了, 希望他能在会上谈到. |
|
• Ken介绍 EJB 3.1 EDR |
我很高兴能看到Ken在写博客。 EJB 3.0 是一次很大的进步,同时 EJB 3.1.(查看 Java EE 6 Profiles)将会更强大,但是同时需要一次展示,来让更多的感兴趣的听众阐述它的技术。
顺便提一下,你知道简版的EJB 3.0规格说明书只有59页吗? 但是我只能在JCP Site上找到 (参考Ken的谜题!). 规约的出现而人们不应该知道吗? :-)
今天有趣的新闻总汇:
|
来自 Kevin 和 Mark - 最近 Oracel Fusion 的价格增长 带来了一次由 Java CAPS (我们的构建于 GlassFish Server 和 OpenESB 上的 SOA)提供的新的切换。 请看 Kevin's 和 OnTheRecord, 这些视频 (注意! 其自动播放), InfoWorld 和 TheRegister。 Alexis 在 GlassFish Server 的 User 邮件列表中提到如何在 NetBeans 配置,其提到了不同于你通常的 GlassFish Server 部署,以及如何去做到。 谢谢 Swen-Helge 提供了 Mural/MDM 教程。 从 Adam 的在 Informal Performance of Remote EJB 的报道。 Adam 在他的博客上有一系列的关于 EJB 3(.x) 作为轻量级组件的讨论。 |
|
Adam Bien 报道了 EJB3 被很好的采纳的数目,其是德国的一家 IT 杂志的调查报道。 给参与者的选项相当公平给了该调查一些可信度。我想其会多大程度影响 Adam 的咨询工作,博客上已有结论! 如果我们能在时间跨度上比较这些数字的会更好(如与一、两年前)。 |
EJB 3 是在正确方向上的迈出了巨大一步。而 EJB 3.1 (Java EE 6 的一部分) 正在做许多提升如:简化打包,只读 beans, singletons 等。 你可以在 GlassFish v3 builds (如Tech Preview 2) 上,通过更新中心(bin/updatetool)得到 EJB 3.1 预览容器来测试其中一些功能。
更多的 EJB 文章请使用此 EJB
标签。
如果你也在使用 appclient 调用 EJB,那么下面两个问题的解决方法可能对你有用:
com.sun.enterprise.appclient.MainWithModuleSupport <init>
warning: ACC003:application exception threw.
java.lang.NullPointerException
在运行时会出现此问题,而在调试模式下又不会。此问题是 Netbeans 的一个 bug, 请见该 bug 的描述。
解决的办法是再产生一个企业应用程序,将上述两模块添加到该应用中。从该应用中运行该 app 客户端即可。如果部署时支持了 Java Web
Start, 则应通过浏览器访问 http://<machine name>:8080/<j2ee
context>/<app client context> 来通过 Java Web Start 的方式运行该 app
客户端。
Error launching or running the application
java.lang.ClassNotFoundException: com.sun.enterprise.appclient.MainWithModuleSupport
java.lang.ClassNotFoundException: com.sun.enterprise.appclient.MainWithModuleSupport
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
此为 jdk1.6.0 u7 特有的问题。解决办法是在 Java Console 修改 "临时 Internet 文件" 的设置,如下图一样禁用该缓存:
或者继续使用其他 jdk 版本。
|
可嵌入容器的API 的一个用处是测试,经验表明,这对提高开发速度会有很大的影响。为此, 我很高兴地报告我们从 JSR 318 EG 开发中所取得的进展。Ken 领导了这一开发。嵌入容器的API可建立/释放容器, 如下所示: Ken在他的 Intro Note 暗示说,会进一步写博客,讨论更多的细节(例如便携式全球JNDI名称),敬请期待。 |
更多的证据表明,EJB 3.1专家组非常重视以顾客的角度对待规格的进展。祝贺他们!有关更多EJB 3信息, 请参阅 EJB3
。
|
Ken 和其余的EJB 3.1 专家组 (JSR 318) 已经完成了一个前期草案 供审查。 文档包括API文件和规格。 我们还没有一个活动来进行早期的评估实施。 就像在 Roberto's note on profiles 中提及的,EG正在考虑 EJB 3.1 lite概念, 我想这些将是非常有用的。 |
浏览这些规格并通过comments alias反馈给EG. 我也鼓励Ken开一个博客并加入Blogosphere。