不象在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引入了注解,如`@TransactionAttribute`,可以轻松地在方法级别声明事务属性。例如,`@TransactionAttribute(TransactionAttributeType.REQUIRED)`表示如果当前没有事务,容器会开始一个新的;`@...
`@TransactionAttribute`注解用于指定方法的事务属性。 **示例:** ```java @Stateless public class UserService { @TransactionAttribute(TransactionAttributeType.REQUIRED) public void updateUser(User ...
4. **容器管理的事务**:EJB3支持自动事务管理,可以通过`@TransactionAttribute`来定义事务的传播行为和隔离级别。 **JBoss AS7 (现为WildFly)** 是一个开源的应用服务器,它是EJB3规范的一个实现,提供了运行和...
EJB3.0中,事务可以通过方法级别的注解如`@TransactionAttribute`来控制。 7. **依赖注入(Dependency Injection, DI)**:EJB3.0引入了JSR-299(后来成为CDI,Contexts and Dependency Injection)的早期形式,...
开发者只需在方法上添加`@TransactionAttribute`注解来指定事务的属性。 ### 6. 容器服务 EJB3提供了一系列的容器服务,如安全性、并发控制、生命周期管理等,帮助开发者专注于业务逻辑,而非底层实现。 ### 7. ...
EJB3的bean默认支持声明式事务管理,即通过注解如`@TransactionAttribute`来定义事务的边界和策略。 通过这个PPT教程,你将全面了解EJB3的各种组件和它们在实际开发中的应用。理解并掌握这些知识点,你就能更有效地...
6. **事务管理**:EJB容器自动处理事务,开发者只需通过`@TransactionAttribute`注解指定事务属性,如REQUIRED、REQUIRES_NEW等。 7. **安全性**:EJB3.0提供了内置的安全模型,包括角色基的访问控制(RBAC)和声明...
9. **事务管理**:EJB 3.0提供了声明式事务管理,开发者可以通过`@TransactionAttribute`注解来设置事务属性,如REQUIRED、REQUIRES_NEW等。 10. **JNDI查找**:虽然注解大大减少了对JNDI查找的依赖,但在某些情况...
EJB 3.0提供自动的事务管理,开发者可以通过`@TransactionAttribute`注解来控制事务的边界和行为,如REQUIRED、REQUIRES_NEW、MANDATORY、SUPPORTS、NOT_SUPPORTED和NEVER。 7. **异步方法(Asynchronous Methods...
EJB 3.0中的容器自动处理事务管理,开发者只需通过设置事务属性(如`@TransactionAttribute`)来定义事务边界。这减少了事务管理的复杂性,让开发者更专注于业务逻辑。 **7. 异步处理** EJB 3.0支持异步方法调用,...
- EJB 3.0提供自动的事务管理,根据不同的方法注解(如`@TransactionAttribute`),容器会自动处理事务的开始、提交或回滚。 4. **安全性:** - EJB 3.0支持基于角色的访问控制(RBAC),通过`@RolesAllowed`注解...
默认情况下,容器会自动为EJB方法提供适当的事务边界,开发者可以通过`@TransactionAttribute`注解来定制事务策略。 在《中文最新EJB3.0实例教程》中,你将学习如何创建和部署EJB3.0组件,如何使用JPA进行数据持久...
- EJB支持声明式事务管理,允许开发者通过设置特定的注解来控制事务的边界,例如`@TransactionAttribute(TransactionAttributeType.REQUIRED)`,这表示方法应在现有事务中执行,如果没有,则开始新的事务。...
开发者只需在接口方法上添加适当的注解,如`@TransactionAttribute(TransactionAttributeType.REQUIRED)`。 - **BMT**: 开发者必须手动控制事务的生命周期,包括开启、提交、回滚和分离事务。使用`UserTransaction`...
- 两者都支持声明式服务,如事务管理和安全性,但EJB3.0通常将这些服务更紧密地集成到框架中,例如通过@TransactionAttribute注解控制事务行为。 - Spring的声明式服务可以通过AOP(面向切面编程)实现,允许更细...
EJB3.0提供声明式事务管理,允许开发者通过注解如`@TransactionAttribute`来控制事务的属性,如REQUIRED、REQUIRES_NEW等,无需手动编写事务管理代码。 8. **安全性**: EJB3.0集成Java EE的安全模型,允许通过`@...
通过`@TransactionAttribute`注解,开发者可以设置bean方法的事务属性,如REQUIRED、REQUIRES_NEW、NOT_SUPPORTED等,以控制事务的边界。 ### 6. 远程和本地接口 EJB 3.0支持远程和本地接口,使客户端可以跨JVM...
3. **简化事务管理**:EJB 3.0简化了事务管理,开发者可以通过`@TransactionAttribute`注解定义事务的属性,如REQUIRED、REQUIRES_NEW等,无需像EJB 2.x那样处理复杂的EJB事务API。 4. **依赖注入**:EJB 3.0引入了...
- 容器自动管理事务边界,也可以通过`@TransactionAttribute`注解自定义事务属性。 4. **依赖注入:** - 在客户端或其他EJB组件中使用`@EJB`注解注入会话Bean实例。 #### 六、EJB3 高级特性 - **异步调用:**...
EJB 3.0提供了声明式事务管理,开发者可以通过`@TransactionAttribute`注解指定事务属性,如REQUIRED、REQUIRES_NEW等,简化了事务处理的代码。 八、安全性 EJB 3.0利用Java EE的安全框架,可以进行角色基线访问...