无状态会话Bean由以下方面组成:
一个Bean类,其包含了相关业务方法的实现。
业务接口,其包含了相关业务方法的声明,以便对客户应用程序可见。
Bean类
一个无状态会话Bean类是一种标准的Java类,并在类级别的声明上带有@Stateless注释符;如果部署描述符取代了注释符,那么Bean类应指明作为一个无状态会话Bean。如果同时使用了注释符及部署描述符两者(混合模式中),且在Bean类中写明了类级别或成员级别的注释符,那么也必须要写明@Stateless注释符;在同时使用了两者情况下的部署过程中,描述符中的设置或值将会覆盖类中的注释符。
为演示无状态会话Bean的用法,我们创建了一个SearchFacade会话Bean,其为客户端程序提供了多种搜索功能,工作流程如下:
1、 程序使用者会输入或选择一个或多个搜索条件,这在之后会提交给SearchFacade会话Bean。
2、 SearchFacade会话Bean会访问后台数据库,以返回所需信息。在此为简化代码,只返回了Bean类中硬编码的值。
3、 会话Bean把满足搜索条件的信息返回给客户端应用程序。
例1为SearchFacade Bean的定义,SearchFacade Bean为一个在类级别上带有@Stateless注释符的标准Java类。
例1:SearchFacadeBean.java package com.apress.ejb3.chapter02; import javax.ejb.Stateless; @Stateless(name="SearchFacade") public class SearchFacadeBean implements SearchFacade, SearchFacadeLocal { public SearchFacadeBean() { } }