1、Required
当需要EJB总是运行在事务当中时使用Required属性。如果当前已经存在一个运行事务,EJB将加入该事务;如果
没有运行的事务存在,则EJB容器将新建一个事务。
2、RequiresNew
当你希望你的EJB被调用是运行在一个新的事务中时使用RequiresNew属性。如果此时已经有一个运行的事务,该事务将被挂起,一个新的事务将在你的EJB调用过程中存在,当该过程结束后,老的事务将恢复。
3、Supports
当EJB使用Supports事务属性时,如果当前存在一个运行事务,那么该bean将运行在这个事务当中,如果不存在则该bean将运行在一个非事务的环境中。
4、Mandatory
Mandatory要求bean被调用时,必须存在一个运行的事务,否则将抛出javax.ejb.EJBTransactionRequiredException异常。
5、NotSupported
如果你设置你的EJB事务属性是NotSupported,那么你的bean将不会运行在事务当中去。如果一个带有事务的bean调用你的ejb那么该事务将被挂起直至你的bean运行结束。
6、Never
如果设置成Never,你的ejb将不允许在事务中调用,否则抛出javax.ejb.EJBException异常。
分享到:
相关推荐
在深入探讨EJB(Enterprise JavaBeans)的事务属性之前,我们先来理解一下EJB的基本概念及其在企业级应用中的重要性。EJB是Java EE平台的核心组件之一,主要用于构建可扩展、健壮且安全的企业级应用程序。它提供了一...
EJB3.0引入了注解,如`@TransactionAttribute`,可以轻松地在方法级别声明事务属性。例如,`@TransactionAttribute(TransactionAttributeType.REQUIRED)`表示如果当前没有事务,容器会开始一个新的;`@...
### POJO、JavaBean、EJB与JNDI的理解及区别 #### POJO:Plain Old Java Object POJO,即“纯旧式Java对象”,它指的是最基础的Java类对象,没有任何框架约束,也不实现任何特定接口。POJO的主要特征是拥有私有...
1. 声明式事务管理:通过在Bean的部署描述符(deployment descriptor)中定义事务属性来设置事务的边界。例如,你可以指定一个方法是在一个新事务中运行,还是在一个已经存在的事务中运行。 2. 编程式事务管理:...
EJB提供强大的事务管理能力,可以设置不同的事务属性,比如所需的事务级别、传播行为等,确保数据的一致性和完整性。 **安全性**: EJB支持角色基础的访问控制(RBAC),允许对EJB方法的调用进行权限验证,以确保...
Javabean技术则是EJB的一个基础,javabean是一种符合特定规范的Java类,它具有属性、getter和setter方法,以及一个默认构造器。Javabeans通常用于构建EJB组件的表示层,或者作为客户端与EJB之间的数据载体。 在...
3. **EJB事务属性** - **REQUIRED**: 默认属性,如果当前没有事务,容器会创建一个新的事务。 - **REQUIRES_NEW**: 创建一个新的事务,即使当前存在事务,新事务也会独立于当前事务运行。 - **MANDATORY**: 如果...
在EJB项目中,部署描述符(如ejb-jar.xml)定义了Bean的行为和配置信息,包括Bean的接口、实现类、事务属性、安全性设置等。`testEJBProject`可能包含了项目的源代码、资源文件以及部署描述符。 4. **客户端调用**...
- **事务管理**:EJB支持声明式事务管理,开发人员只需在方法上添加事务属性,容器就会自动处理事务的开始、提交或回滚。 - **安全性**:EJB可以集成Java EE的安全框架,允许细粒度的角色基线访问控制,确保只有...
5. **事务管理**:EJB支持事务属性,如Required、RequiresNew、Mandatory、NotSupported、Supports和Never,它们决定了事务如何在EJB方法调用中传播。 6. **安全性**:EJB提供了角色基的安全机制,允许对bean的方法...
**EJB3(Enterprise JavaBeans 3)是Java EE(Enterprise Edition...理解并掌握这些知识点,你就能更有效地利用EJB3构建健壮、可扩展的企业级应用程序。无论是对于初学者还是经验丰富的开发者,这都是一份宝贵的资源。
3. **创建部署描述符**:`ejb-jar.xml`文件包含了EJB组件的元数据,如名称、事务属性和依赖关系。 4. **编译和部署**:编译源代码并打包成`ejb-jar`文件,然后使用EJB容器的工具进行部署。 5. **编写客户端程序**:...
- **部署描述符(Deployment Descriptor)**:配置EJB的行为和属性,例如事务属性、安全设置等。 - **JNDI(Java Naming and Directory Interface)**:理解如何通过JNDI查找和绑定EJB。 - **JTA(Java Transaction ...
4. **Deployment Descriptor**:一个XML配置文件,用于描述EJB的部署信息,如事务属性、安全性设置等。 #### 实例解析:HelloBean 以一个简单的HelloBean为例,我们首先定义了一个`HelloInterface`,其中包含了`...
3. 配置EJB,如定义远程接口、事务属性和安全角色。 4. 测试EJB,通过客户端应用调用EJB方法,验证其功能和性能。 5. 部署和运行EJB应用,将项目打包成JAR或EAR文件,然后在Java EE应用服务器上部署。 通过这个**...
开发者可以在部署描述符中配置事务属性,决定哪些方法在事务边界内执行,确保数据的一致性和完整性。 6. **安全性**:EJB2.0也包含了内置的安全机制,如角色基访问控制(Role-Based Access Control, RBAC),允许...
3. 在ejb-jar.xml或使用注解定义bean的相关属性,如事务策略、安全性等。 4. 编写客户端代码或使用JNDI查找来调用`IntegralTradeHisQueryService`的方法。 5. 打包ejb-jar和相关的WAR或JAR文件到一个EAR文件。 6. ...
部署描述符是XML文件,包含有关EJB组件的信息,如Bean的接口、方法、权限、事务属性等。它指导容器如何配置和管理Bean。 6. **EJB 3.0及以后的版本**: 从EJB 3.0开始,EJB规范变得更加轻量级,引入了注解...
这意味着EJB容器负责对象和数据库之间的映射,开发者只需定义bean的接口和属性。 3. **事务管理**: - EJB支持声明式事务管理,允许开发者通过设置特定的注解来控制事务的边界,例如`@TransactionAttribute...
这包括bean的名称、接口、安全属性、事务管理等。同时,也要在weblogic-ejb-jar.xml中进行WebLogic特定的配置,如资源引用、持久化配置等。 5. 打包EJB:将EJB项目打包成一个ejb-jar文件,通常放在一个EAR...