`

EJB事务注解TransactionAttribute

    博客分类:
  • EJB
 
阅读更多

官方文档:http://docs.oracle.com/javaee/6/api/javax/ejb/TransactionAttributeType.html

 

不象在EJB2.X中,需要在部署文件中部署事务。EJB3.0通过注释就为指定的类或者方法提供事务支持。在EJB3.0的预览版规范中,指明使用TransactionAttribute作为注释,TransactionAttribute的声明如下
  @Target({METHOD, TYPE}) @Retention(RUNTIME)
  public @interface TransactionAttribute
  {
  TransactionAttributeType value() default REQUIRED;
  }
  
  TransactionAttributeType是一个枚举类型:
  public enum TransactionAttributeType {
  MANDATORY,
  REQUIRED,
  REQUIRESNEW,
  SUPPORTS,
  NOTSUPPORTED,
  NEVER
  }
  可以看出TransactionAttribute既可以为类做注释,又可以为方法做注释。
  TransactionAttributeType的几个枚举值分别代表:
  MANDATORY
  此属性要求你的事务必须在运行,否则会返回调用者一个异常。
  REQUIRED
  如果你希望你的EJB总是运行在事务中,你应该使用这个模式。如果事务正在运行,将把你的EJB组件加到事务中,如果没有事务,则新增加一个事务。
  REQUIRESNEW
  总是为你的EJB组件新起一个事务。
  SUPPORTS
  如果事务存在,则将你的EJB增加到事务中,如果没有事务,则不会运行在事务中。
  NOTSUPPORTED
  你的EJB组件将不能使用事务。假设你的组件B设置了这个属性,组件A使用了事务,当A调用B时,A的事务将被挂起,B也不能执行事务操作,当B完成后,A的事务才被激活。
  NEVER
  你的EJB组件将不能使用事务。假设你的组件B设置了这个属性,当客户端在事务中调用这个B时,容器将抛出一个异常。

分享到:
评论

相关推荐

    ejb3.0 分布式事务

    EJB3.0引入了注解,如`@TransactionAttribute`,可以轻松地在方法级别声明事务属性。例如,`@TransactionAttribute(TransactionAttributeType.REQUIRED)`表示如果当前没有事务,容器会开始一个新的;`@...

    ejb3.0 注解 其中一部分

    `@TransactionAttribute`注解用于指定方法的事务属性。 **示例:** ```java @Stateless public class UserService { @TransactionAttribute(TransactionAttributeType.REQUIRED) public void updateUser(User ...

    EJB3-JBOSS7-分布式事务示例

    4. **容器管理的事务**:EJB3支持自动事务管理,可以通过`@TransactionAttribute`来定义事务的传播行为和隔离级别。 **JBoss AS7 (现为WildFly)** 是一个开源的应用服务器,它是EJB3规范的一个实现,提供了运行和...

    Java EJB方面的实例集.rar

    Java EJB(Enterprise JavaBeans)是Java平台企业版...EJB还涉及到了事务管理,学习者可以通过实例了解如何声明和管理事务边界,比如使用`@TransactionAttribute`注解来指定事务策略。EJB也提供了安全性管理,如角色基

    EJB3.0规范-EJB3.0 SPECIFICATION

    EJB3.0中,事务可以通过方法级别的注解如`@TransactionAttribute`来控制。 7. **依赖注入(Dependency Injection, DI)**:EJB3.0引入了JSR-299(后来成为CDI,Contexts and Dependency Injection)的早期形式,...

    EJB3基础教程

    开发者只需在方法上添加`@TransactionAttribute`注解来指定事务的属性。 ### 6. 容器服务 EJB3提供了一系列的容器服务,如安全性、并发控制、生命周期管理等,帮助开发者专注于业务逻辑,而非底层实现。 ### 7. ...

    EJB3 PPT教程

    EJB3的bean默认支持声明式事务管理,即通过注解如`@TransactionAttribute`来定义事务的边界和策略。 通过这个PPT教程,你将全面了解EJB3的各种组件和它们在实际开发中的应用。理解并掌握这些知识点,你就能更有效地...

    ejb3.0实例教程及源码

    6. **事务管理**:EJB容器自动处理事务,开发者只需通过`@TransactionAttribute`注解指定事务属性,如REQUIRED、REQUIRES_NEW等。 7. **安全性**:EJB3.0提供了内置的安全模型,包括角色基的访问控制(RBAC)和声明...

    ejb3.0

    9. **事务管理**:EJB 3.0提供了声明式事务管理,开发者可以通过`@TransactionAttribute`注解来设置事务属性,如REQUIRED、REQUIRES_NEW等。 10. **JNDI查找**:虽然注解大大减少了对JNDI查找的依赖,但在某些情况...

    ejb3.0开发规范PDF

    EJB 3.0提供自动的事务管理,开发者可以通过`@TransactionAttribute`注解来控制事务的边界和行为,如REQUIRED、REQUIRES_NEW、MANDATORY、SUPPORTS、NOT_SUPPORTED和NEVER。 7. **异步方法(Asynchronous Methods...

    EJB 3.0实例教程.pdf

    EJB 3.0中的容器自动处理事务管理,开发者只需通过设置事务属性(如`@TransactionAttribute`)来定义事务边界。这减少了事务管理的复杂性,让开发者更专注于业务逻辑。 **7. 异步处理** EJB 3.0支持异步方法调用,...

    EJB3.0开发文档+工具

    - EJB 3.0提供自动的事务管理,根据不同的方法注解(如`@TransactionAttribute`),容器会自动处理事务的开始、提交或回滚。 4. **安全性:** - EJB 3.0支持基于角色的访问控制(RBAC),通过`@RolesAllowed`注解...

    中文最新EJB3.0实例教程下载

    默认情况下,容器会自动为EJB方法提供适当的事务边界,开发者可以通过`@TransactionAttribute`注解来定制事务策略。 在《中文最新EJB3.0实例教程》中,你将学习如何创建和部署EJB3.0组件,如何使用JPA进行数据持久...

    EJB项目开发(包含源码)

    - EJB支持声明式事务管理,允许开发者通过设置特定的注解来控制事务的边界,例如`@TransactionAttribute(TransactionAttributeType.REQUIRED)`,这表示方法应在现有事务中执行,如果没有,则开始新的事务。...

    EJB实体Bean与事物管理

    开发者只需在接口方法上添加适当的注解,如`@TransactionAttribute(TransactionAttributeType.REQUIRED)`。 - **BMT**: 开发者必须手动控制事务的生命周期,包括开启、提交、回滚和分离事务。使用`UserTransaction`...

    EJB3.0和Spring比较

    - 两者都支持声明式服务,如事务管理和安全性,但EJB3.0通常将这些服务更紧密地集成到框架中,例如通过@TransactionAttribute注解控制事务行为。 - Spring的声明式服务可以通过AOP(面向切面编程)实现,允许更细...

    EJB3.0规范文档

    EJB3.0提供声明式事务管理,允许开发者通过注解如`@TransactionAttribute`来控制事务的属性,如REQUIRED、REQUIRES_NEW等,无需手动编写事务管理代码。 8. **安全性**: EJB3.0集成Java EE的安全模型,允许通过`@...

    EJB.rar_EJB3_EJB3.0_ejb

    通过`@TransactionAttribute`注解,开发者可以设置bean方法的事务属性,如REQUIRED、REQUIRES_NEW、NOT_SUPPORTED等,以控制事务的边界。 ### 6. 远程和本地接口 EJB 3.0支持远程和本地接口,使客户端可以跨JVM...

    电子书-EJB3.0实例教程

    3. **简化事务管理**:EJB 3.0简化了事务管理,开发者可以通过`@TransactionAttribute`注解定义事务的属性,如REQUIRED、REQUIRES_NEW等,无需像EJB 2.x那样处理复杂的EJB事务API。 4. **依赖注入**:EJB 3.0引入了...

    EJB3最新学习教程,适合初学者

    - 容器自动管理事务边界,也可以通过`@TransactionAttribute`注解自定义事务属性。 4. **依赖注入:** - 在客户端或其他EJB组件中使用`@EJB`注解注入会话Bean实例。 #### 六、EJB3 高级特性 - **异步调用:**...

Global site tag (gtag.js) - Google Analytics