EJB 3.1 注释及其部署描述符等价项

下表说明了 EJB 3.1 注释与部署描述符中的 XML 数据之间的转换。

表 1. 注释及其部署描述符等价项
注释 属性 描述 相应的部署描述符元素
EJB 注释 (JSR-220)      
@Stateless
java.lang.String     description

 java.lang.String     mappedName

 java.lang.String     name 
无状态会话 Bean 的组件定义的注释。将 isIdentical 方法用于比较同一无状态会话 Bean 的两个会话对象的对象引用(即,这两个对象在功能上可互换)时,该方法始终返回 true。
<session>--<ejb-name>
<session>--<mapped-name>
<session>--<ejb-class>
<session>--<session-type>

if annotated type implements some interface:

<session>--<local>

<session>--<local-home>
@Stateful
java.lang.String     description

 java.lang.String     mappedName

 java.lang.String     name 
有状态会话 Bean 的组件定义的注释。
<session>--<ejb-name>
<session>--<mapped-name>
<session>--<ejb-class>
<session>--<session-type>
@Local
java.lang.Class[]     value
在 Bean 类上使用时,用于声明会话 Bean 的本地业务接口。在接口上使用时,用于指定该接口作为本地业务接口。在这种情况下,不提供 value()
<session>--<local>
@LocalHome
java.lang.Class     value
声明会话 Bean 的本地 Home 接口或已适应的本地 Home 接口。
<session>--<local home>
@Remote
java.lang.Class[]     value
声明会话 Bean 的远程业务接口。在接口上使用时,用于指定该接口作为远程业务接口。在这种情况下,不提供 value()
<session>--<remote>
@RemoteHome
java.lang.Class     value
声明会话 Bean 的远程 Home 接口或已适应的远程 Home 接口。
<session>--<remote home>
@Remove
boolean     retainIfException
适用于有状态会话 Bean 类的业务方法。指示有状态会话 Bean 将在方法完成之后由容器移除
<remove-method>--<bean-method>

<remove-method>--<retain-if-exception>
@Init
java.lang.String     value  
(已适应的 Home/LocalHome 接口的相应 create 方法的名称)
指定对应于已适应的 Home 接口或本地 Home 接口的 create 方法的会话 Bean 的方法。
<init-method>--<create-method>

<init-method>--<bean-method> 
@Timeout 指定无状态会话 Bean 类或消息驱动的 Bean 类上应该接收该 Bean 的 EJB 计时器到期的方法。
<timeout-method>
@MessageDriven
ActivationConfigProperty[]     activationConfig

java.lang.String     description

java.lang.String     mappedName

java.lang.Class     messageListenerInterface

java.lang.String     name 
消息驱动的 Bean 的组件定义的注释。
<message-driven>--<ejb-name>
<message-driven>--<mapped-name>
<message-driven>--<ejb-class>
<message-driven>--<messaging-type> <message-driven>--<activation-config-property>
@TransactionAttribute
TransactionAttributeType     value
应用在 TYPE 级别时,为会话 Bean 或消息驱动的 Bean 的所有业务方法指定缺省事务属性。应用在方法级别时,仅指定该方法的事务属性。
<container-transaction>
@TransactionManagement
TransactionManagementType  value
声明会话 Bean 或消息驱动的 Bean 具有容器管理的事务还是具有 Bean 管理的事务。
<transaction-type>
@PostActivate 指定一种方法以在激活有状态会话 Bean 之后接收回调。
<post-activate>
@PrePassive 指定一种方法以在使有状态会话 Bean 变为被动之前接收回调。
<pre-activate>
@EJB
java.lang.Class     beanInterface
(保留下列其中一种接口类型的目标 EJB:[本地业务接口、远程业务接口、本地 Home 接口和远程 Home 接口])
 java.lang.String     beanName

 java.lang.String     mappedName

 java.lang.String     name  
指示对 Enterprise Java™ Bean 的本地或远程视图的依赖关系。
<ejb-ref>--<ejb-ref-name>
<ejb-ref>--<home>     
<ejb-ref>--<remote>

<ejb-local-ref>--<ejb-ref-name>
<ejb-local-ref>--<local-home>     
<ejb-local-ref>--<local>
@EJBs   声明多个 TYPE 级别的 @EJB 注释。  
@ApplicationException
EJB[]     value
应用于某个异常以表示这是应用程序异常并且应该直接报告给客户机(即,解包)。
<application-exception>--<exception-class>

<application-exception>--<rollback>
@ActivationConfigProperty
java.lang.String     propertyName

 java.lang.String     propertyValue boolean     rollback
表示激活配置属性
<activation-config-property>

           --<activation-config-property-name>

<activation-config-property>

           --<activation-config-property-value>
@AroundInvoke 指定在 EJB 调用的各个调用部分期间要调用的某个类上的方法
<around-invoke>--<class>
<around-invoke>--<method-name>
@ExcludeClassInterceptors 用于排除业务方法的类级别拦截器。
<exclude-class-interceptors>
@ExcludeDefaultInterceptors 用于排除 Bean 或业务方法的缺省拦截器。
<exclude-default-interceptors>
@Interceptors
java.lang.Class[]     value
声明类或方法的已排序的拦截器列表。
<interceptors>--<interceptor>
常用注释 (JSR 250)      
@Generated
java.lang.String[]     value   

 java.lang.String  comments

 java.lang.String     date 
@Generated 注释用于标记已生成的源代码。该注释也可用于区别单个文件中用户编写的代码和生成的代码。使用时,值元素必须具有代码生成器的名称。建议的约定是在值字段中使用代码生成器的标准名称。例如:com.company.package.classname。 日期元素用于指示源代码的生成日期。 日期元素必须遵循 ISO 8601 标准。例如,日期元素将具有以下值 2011-07-04T12:08:56.235-0700,该值表示美国太平洋时区的本地时间 2011-07-04 12:08:56。注释元素是代码生成器可能要包括在所生成的代码中的任何注释的占位符。 仅限于具有 SOURCE 保留时间的注释。所有其他都是 RUNTIME。
@PostConstruct @PostConstruct 注释用于需要在完成依赖关系注入以执行任何初始化之后执行的方法。
<post-construct>--<lifecycle-callback-class>
<post-construct>--<lifecycle-callback-method>
@PreDestroy @PreDestroy 注释作为回调通知用于方法,以通知实例位于容器正在移除的进程中。
<pre-destroy>--<lifecycle-callback-class>
<pre-destroy>--<lifecycle-callback-method>
@Resource
Resource.AuthenticationType     authenticationType
   
要对此资源使用的认证类型。
java.lang.String  description

 java.lang.String mappedName

 java.lang.String     name
资源的 JNDI 名称。
boolean     shareable
指示是否可以在此组件与其他组件之间共享此资源。
Class     type
资源的 Java 类型。
@Resource 注释标记应用程序所需要的资源。此注释可能应用于应用程序组件类或者组件类的字段或方法。将该注释应用于字段或方法时,容器会在初始化组件时将所请求的资源的实例注入到应用程序组件中。 如果将该注释应用于组件类,那么该注释会声明应用程序在运行时查找的资源。
环境条目
        <env-entry-name>
        <env-entry-value>
        <env-entry-type>

service-ref
resource-ref
message-destination-ref
resource-env-ref
@Resources      
@DeclareRoles
String[] value
由应用程序用于声明角色。
<security-role>--<role-name>
@DenyAll 指定不允许任何安全角色调用指定的方法 - 即,将这些方法从 J2EE 容器的执行中排除。
<exclude-list>--<method>
@PermitAll 指定允许所有安全角色调用指定的方法 - 即,已声明了指定的方法。可以在类或方法上指定该注释。在类上指定该注释表示它适用于该类的所有方法。 如果在方法级别处指定,那么它只影响该方法。如果在类级别指定 RolesAllowed 并在方法级别处应用此注释,那么 PermitAll 注释会覆盖指定方法的 RolesAllowed
<method-permission>--<method>
@RolesAllowed
String[] value
指定允许访问应用程序中的方法的角色列表。RolesAllowed 注释的值是一列安全角色名称。可以在类或方法上指定此注释。
<method-permission>--<role-name>
<method-permission>--<method>
@RunAs
String value
定义 J2EE 容器中的执行期间应用程序的身份。这允许开发人员在特定的角色下执行。该角色必须映射到容器安全性域中的用户/组信息。它的值是安全角色的名称。
<security-identity>--<run-as>
指示主题类型的图标 参考主题
信息中心的条款和条件 | 反馈

时间戳记图标 最近一次更新时间: 2014 年 4 月 17 日

文件名:rjeeddvsannotations.html