快速业务通道

Java EE 5 - 强大的功能、高生产率和低复杂性 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
E 5 容器用它做什么。我将稍后解释。

复杂的运行时行为

当部署到 Java EE 5 容器时,JAX-WS 处理 清单 1 中的 @WebService 注解,并将 RideStatistics 类转换为一个完整的 Web 服务端点,这个端点包含两个操作:rideOffersFromZipCode 和 rideOffersFromToZipCode。JAX-WS 处理提供 Web 服务所需的所有工作,包括生成 Web Services Description Language(WSDL),让 Web 上的其他应用程序能够发现并使用这个 Web 服务,还提供机制响应对 Web 服务的客户机请求。

JAX-WS 为 RideStatistics Web 服务生成 WSDL 的默认位置是 http://server:port/ridesynergy2-war/RideStatisticsService?WSDL。按照以下步骤查看这个 WSDL:

下载 RideSynergy 企业存档文件 ridesynergy2.ear并将它部署到 Java EE 5 容器中。

将默认位置中的 server 和 port 值替换为容器的主机名和端口。

在浏览器中访问这个位置。

更复杂的注解

清单 1 中的注解只是简单的注解。注解还可以接受命名元素(named element),这种元素与方法参数相似,但是参数的次序和数量不重要,因为每个参数都有名称。使用命名元素就像是将一个映射传递给注解,其中包含的键/值对可以决定处理注解的方式。

WeatherForecastSoap 接口(见清单 3)是由 JAX-WS 中的 wsimport 工具创建的,其中包含接受命名元素的注解。清单 3 给出 WeatherForecastSoap 接口:

清单 3. WeatherForecastSoap 接口

. . .    @WebMethod(operationName = "GetWeatherByZipCode",      action = "http://www.webservicex.net/GetWeatherByZipCode")    public WeatherForecasts getWeatherByZipCode(     @WebParam(name = "ZipCode",     targetNamespace = "http://www.webservicex.net")     String zipCode); . . .

在清单 3 中,getWeatherByZipCode() 方法上有一个 @WebMethod 注解,这个注解有两个命名元素:operationName 和 action。getWeatherByZipCode() 的 zipCode 参数上有一个 @WebParam 注解,这个注解包含命名元素 name 和 targetNamespace(注意在实际应用程序中,getWeatherByZipCode() 还有其他注解,这里省略掉了)。

定义注解的代码指定注解接受哪些命名元素(如果有的话)。

Java EE 5 - 强大的功能、高生产率和低复杂性(7)

时间:2011-01-31 IBM Scott Moore

声明无状态会话 bean

清单 4 给出 RideManagerBean 的类声明,这个无状态会话 bean 实现了 清单 1 所示的 RideManagerRemote 接口:

清单 4. 无状态会话 bean 声明

. . . @Stateless public class RideManagerBean implements RideManagerRemote { . . .

在 J2EE 1.4 中,EJB 必须实现 SessionBean 接口,这个接口要求实现六个方法。在许多情况下,这些方法实现都是空的,它们之所以存在只是为了满足接口的要求,让代码能够通过编译,这使代码很杂乱。EJB 3.0 通过提供生命周期注解 @PostConstruct、@PreDestroy、@PostActivate 和 @PrePassivate 消除了这种混乱。可以根据需要将这些注解添加到适当的方法上,从而实现对生命周期事件的响应;只要求这些方法是公共方法,没有参数并返回 void。

用注解替代部署描述符

Java EE 5 中的注解还可以消除以前的 Java EE 版本所需的大量配置代码。例如,清单 4 中的 @Stateless 注解可以替代 EJB 部署描述符,EJB 部署描述符是一个 XML 配置文件,它向容器提供 EJB 的细节。在以前的 Java EE 平台中,必须在一个符合 EJB 2.1 模式的 XML 文件中包含这样的描述符。清单 5 给出配置 RideManagerBean 和所需接口的代码片段:

清单 5. Java EE 5 以前的部署描述符

<display-nam

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号