首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EJB抽象方法的本地调用是否会打开一个新事务?

EJB(Enterprise JavaBeans)是一种用于开发分布式企业级应用程序的Java组件模型。在EJB中,抽象方法是指在接口中声明但没有实现的方法。本地调用是指在同一个EJB实例内部调用另一个EJB实例的方法。

对于EJB抽象方法的本地调用是否会打开一个新事务,答案是取决于EJB的事务属性设置。EJB可以通过事务属性来控制方法的事务行为,包括是否开启新事务、是否加入已有事务等。

如果抽象方法的事务属性设置为REQUIRES_NEW,则本地调用会打开一个新事务。这意味着在调用抽象方法时,会暂停当前事务(如果存在),创建一个新的事务,并在方法执行完毕后提交或回滚该事务。

如果抽象方法的事务属性设置为REQUIRED,则本地调用会加入当前事务(如果存在)。这意味着在调用抽象方法时,会使用当前事务,并在方法执行完毕后与当前事务一起提交或回滚。

除了上述两种事务属性,EJB还支持其他事务属性,如SUPPORTSMANDATORYNOT_SUPPORTEDNEVER,它们分别定义了不同的事务行为。

关于EJB的更多信息,您可以参考腾讯云的EJB产品介绍页面:EJB产品介绍。请注意,这里提供的是腾讯云的相关产品链接,仅供参考。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java面试系列3

例如,远程有一台计算机上运行一程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。当然这是要通过一定规范才能在异构系统之间进行通信。RMI是JAVA特有的。...21.JTA(Java Transaction API) JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供接口即可。...例如邮件服务、事务管理 EJB是企业级JavaBean,它提供了构建企业级业务逻辑一种组件模型。...每一EJB由一远程接口、一本地接口和一EJB容器实现组成,远程接口声明了提供给EJB客户调用各种应用方法本地接口声明了创建EJB实例create方法、寻找EJB实例查找(finder...)方法以及刪除EJB实例remove方法

87150

EJB学习笔记

MDB特点: (1) MDB不能被客户端直接调用,因为MDB没有本地/远程接口; (2) MDB是一无状态EJB,不能保存客户端状态,可以方便地构造一池(pooling) (3) MDB不能返回异常给客户端...① 不能直接调用EJB,必须通过业务接口去访问; ② 如果客户端与EJB运行在同一容器当中,用本地业务接口访问,则性能更高。因为使用本地业务接口,就避免了RMI调用,即避免了网络调用性能损耗。...③ 一EJB可以同时具有本地业务接口和远程业务接口。...”) 是否在Bean实例抛出异常之后是否保留着实例,@Remove标注能够应用有状态SessionBean中某个业务方法上。...事务特性只能使用在CMT。 RequiredNew:Bean类中方法必须在一事务环境下运行。 Supports:Bean类方法不需要支持事务

1.1K30

初识JAVA:JAVA最全基础知识复习(超详尽!!值得收藏!)

类继承了原始类特性,类称为原始类派生类(子类),而原始类称为基类(父类)。派生类可以从它基类那里继承方法和实例变量,并且类可以修改或增加方法使之更适合特殊需要。...然而可以创建一变量,其类型是一抽象类,并让它指向具体子类实例。不能有抽象构造函数或抽象静态方法。Abstract 类子类为它们父类中所有抽象方法提供实现,否则它们也是抽象类为。...SessionBean: Stateless Session Bean 生命周期是由容器决定,当客户机发出请求要建立一Bean实例时,EJB容器不一定要创建一Bean实例供客户机调用,而是随便找一现有的实例提供给客户机...当客户机第一次调用Stateful Session Bean 时,容器必须立即在服务器中创建一Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 方法时容器会把调用分派到与此客户机相关联...106、是否可以从一static方法内部发出对非static方法调用? 不可以,如果其中包含对象method();不能保证对象初始化。

59410

EJB 学习笔记

() 方法界定一事务. (3) 实体 bean: 它有一主健作为唯一标识符 组成部分: 由本地接口、远程接口、bean类、主健类和配置描述器组成。...本地接口: 扩展了javax.ejb.EJBHome接口,包括create()、remove()、finder 和home等方法 1)create()方法调用bean类中ejbCreate()方法。...相应EJB调用也可以参与事务,否则不能 Mandatory 如果调用者有一事务,相应EJB可以参与事务,否则,TransactionRequiredException Required...如果调用者有一事务,相应EJB可以参与事务,否则,容器将在调用相应EJB之前,开始一事务....RequiresNew 在调用相应EJB之前,开始一事务,当方法调用返回时,即提交这个事务. 6、ejb 引用 在ejb-jar.xml

53520

【小家Spring】Spring事务相关基础类打点(spring-jdbc和spring-tx两jar),着重讲解AnnotationTransactionAttributeSource

自己也是抽象类,没做啥事,此处略过。...这个子接口非常,是Spring5.1才提供 // @since 5.1 // 指示资源事务,尤其是事务性资源是否准备好进行本地优化 public interface ResourceTransactionDefinition...extends TransactionDefinition { // 确定事务性资源是否准备好进行本地优化 // @see #isReadOnly() boolean isLocalResource...它基本作用为:它遇上比如@Transaction标注方法时,此类会分析此事务注解,最终组织形成一TransactionAttribute供随后调用。...这样方法调用时候,直接根据Method就能取到事务属性,从而执行不同事务策略~~~ SavepointManager 管理事务savepoint编程式API接口。

97430

实战:将POJO类转换为EJB | 从开发角度看应用架构6

它运行在应用程序服务器上,可以被远程客户端以及在同一JVM进程中本地运行其他Java EE组件使用。...对于收到每条消息,它都会执行一操作。 MDB为应用程序开发提供事件驱动松散耦合模型。 如果EJB客户端和EJB在同一JVM进程中本地运行,则客户端可以使用@EJB注释直接向EJB引入注入。...这个类在应用程序中建模一todo项目。它有三属性:一id,一描述和一表示任务是否完成布尔属性。 如下图箭头所示: ?...注意到这个类注入ItemRepository类并调用方法来添加,查看和列出所有todo项目。 ? ? 接下来,我们把POJO转化为无状态 EJB....注意到这个类需要使用ItemService EJB调用EJB方法,并向前端层提供JSON响应。 将ItemService EJB注入到ItemResourceRESTService类中。

1.1K50

Java面试葵花宝典打印版【3】

31、EJB包括(SessionBean,EntityBean)说出他们生命周期,及如何管理事务?...SessionBean:Stateless Session Bean 生命周期是由容器决定,当客户机发出请求要建立一Bean实例时,EJB容器不一定要创建一Bean实例供客户机调用,而是随便找一现有的实例提供给客户机...当客户机第一次调用Stateful Session Bean 时,容器必须立即在服务器中创建一Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 方法时容器会把调用分派到与此客户机相关联...抽象类可以实现(implements)接口,抽象是否可继承实体类,但前提是实体类必须有明确构造函数。 35、List, Set, Map是否继承自Collection接口?...equals()是判读两Set是否相等。equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为是当两分离对象内容和类型相配的话,返回真值。

20330

普天通信JavaEE开发岗面试题

延伸问题 1.1 几种Bean作用 答:SessionBean在J2EE应用程序中被用来完毕一些server端业务操作,比如訪问数据库、调用其它EJB组件。...2.3 HTTP协议有哪些请求方法 GET:请求获取Request-URI所标识资源 POST:在Request-URI所标识资源后附加数据 HEAD:请求获取由Request-URI所标识资源响应消息报头...差别:1)一类仅仅能继承一抽象类但能够实现多个接口 2)接口是抽象变体,接口中全部方法都是抽象,而抽象类是声明方法存在,而不去实现类 3)接口定义方法但不能实现,抽象类能够实现部分方法 4...)接口中基本数据类型是static,但抽象类不是 抽象类中能够有抽象方法也能够有非抽象方法抽象方法用于不同子类实现不同方法,非抽象方法用于全部子类共享该方法,不须要重写。...答:一事务先后读取同一条记录,但两次读数据不同 6 在weblogic中公布ejb需涉及到哪些配置文件 答:ejb-jar.xml和weblogic-ejb-jar.xml 7 怎样在weblogic

22420

【专业知识】java学习中13核心技术

它提供了一致模型来存取和操作企业级资源如DNS和LDAP,本地文件系统或应用服务器中对象。 3....它们提供了一框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂企业级应用开发。EJB规范定义了EJB组件在何时如何与它们容器进行交互作用。...正是由于J2EE开放性使得有的厂商能够以一种和EJB平行方式来达到同样目的。 4. RMI(Remote Method Invoke): 正如其名字所表示那样,RMI协议调用远程对象上方法。...后一种方法提供了另外一种途径通过它Java可以被用于将你应用和旧系统相集成。 6. JSP(Java Server Pages): JSP页面由HTML代码和嵌入其中Java代码所组成。...JTS事务管理器为应用服务器、资源管理器、独立应用以及通信资源管理器提供了事务服务。 12. JavaMail: JavaMail是用于存取邮件服务器API,它提供了一套邮件服务器抽象类。

975130

Java面试题整理

Overload和Override区别。Overloaded方法是否可以改变返回值类型? 方法 重写Override,子类覆盖父类方法,将子类传与父类引用调用还是子类方法。...实现方法可以调用静态变量、实例变量 41、是否可以从一static方法内部发出对非static方法调用?...抽象是否可实现(implements)接口? 抽象是否可继承实体类(concrete class)? 接口可以继承接口。...抽象类可以实现(implements)接口,抽象是否可继承实体类,但前提是实体类必须有明确构造函数。任何抽象类都是实际类Object子类。...Struts+sessionBean+entityBean EJB2.0加入本地接口及本地home EJB1.1中只有远程接口及远程home 18、EJB与JAVA BEAN区别?

2K10

J2EE规范总结

4、RMI(Remote MethodInvoke):远程方法调用 是一组用户开发分布式应用程序API。   ...这一协议调用远程对象上方法使用了序列化方式在客户端和服务器之间传递数据,使得原先程序在同一操作系统方法调用,变成了不同操作系统之间程序方法调用,即RMI机制实现了程序组件在不同操作系统之间通信...后一种方法提供了另外一种途径,通过它Java可以被用于将应用和旧系统相集成。   ...JTA事务比JDBC事务更强大,一JTA事务可以有多个参与者,而一JDBC事务则被限定在一单一数据库连接。 Java 事务API 可以横跨包含:EJB訪问、JDBC连接以及JMS连接。...一JTS事务管理器为应用服务器、资源管理器、standalone应用和通信资源管理器提供事务服务。 12、JavaMail 用于访问邮件服务器API,提供了一套邮件服务器抽象类。

3K51

JavaEE完整框架

JavaEE平台提供了一基于组件方法来加快设计、开发、装配及部署企业应用程序。...我们在开发时候可以利用这些组件,像搭积木一样建立面向对象分布式应用。 EJB容器:是EJB组件运行环境,为部署EJB组件提供服务,包括事务、安全、远程客户端网络发布、资源管理等。...EJB服务器:管理EJB容器高端进程或应用程序,并提供对系统服务访问。 调用EJB组件应该称为EJB客户端,客户端可以运行在Web容器中。...4、RMI(Remote Method Invoke)远程方法调用 RMI协议能够让在某个Java虚拟机上对象,像调用本地对象一样调用另一Java虚拟机中对象上方法。...JTS事务管理器为应用服务器、资源管理器、独立应用以及通信资源管理器提供了事务服务。 12、JavaMail JavaMail是用于存取邮件服务器API,它提供了一套邮件服务器抽象类。

1.9K10

经典笔试篇-EJB及Spring篇

【基础】 答:remote 接口定义了业务方法,用于EJB 客户端调用业务方法;home 接口是EJB 工厂用于创建和移除查找EJB 实例。 165、客服端口调用EJB 对象几个基本步骤?...状态变迁前会调用对应ejbActive 和ejbPassivate 方法。 170、EJB 包括(SessionBean,EntityBean)说出他们生命周期,及如何管理事务?...【中等难度】 答:SessionBean:Stateless Session Bean 生命周期是由容器决定,当客户机发出请求要建立一Bean 实例时,EJB 容器不一定要创建一Bean...当客户机第一次调用Stateful Session Bean 时,容器必须立即在服务器中创建一Bean 实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 方法时容器会把调用分派到与此客户机相关联...171、EJB 事务是如何实现?何时进行回滚;【中等难度】 答:是通过使用容器或Bean 自身管理事务;当产生一系统异常时容器就自动回滚事务。 172、EJB 容器提供服务?

1.3K20

JAVA相关基础知识复习(超详尽!!值得收藏!!)

类继承了原始类特性,类称为原始类派生类(子类),而原始类称为基类(父类)。派生类可以从它基类那里继承方法和实例变量,并且类可以修改或增加方法使之更适合特殊需要。...然而可以创建一变量,其类型是一抽象类,并让它指向具体子类实例。不能有抽象构造函数或抽象静态方法。Abstract 类子类为它们父类中所有抽象方法提供实现,否则它们也是抽象类为。...SessionBean: Stateless Session Bean 生命周期是由容器决定,当客户机发出请求要建立一Bean实例时,EJB容器不一定要创建一Bean实例供客户机调用,而是随便找一现有的实例提供给客户机...当客户机第一次调用Stateful Session Bean 时,容器必须立即在服务器中创建一Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 方法时容器会把调用分派到与此客户机相关联...106、是否可以从一static方法内部发出对非static方法调用

77900

Java面试之EJB & Spring

【基础】 答:remote 接口定义了业务方法,用于EJB 客户端调用业务方法;home 接口是EJB 工厂用于创建和移除查找EJB 实例。 4、客服端口调用EJB 对象几个基本步骤?...状态变迁前会调用对应ejbActive 和ejbPassivate 方法。 9、EJB 包括(SessionBean,EntityBean)说出他们生命周期,及如何管理事务?...【中等难度】 答:SessionBean:Stateless Session Bean 生命周期是由容器决定,当客户机发出请求要建立一Bean 实例时,EJB 容器不一定要创建一Bean实例供客户机调用...当客户机第一次调用Stateful Session Bean 时,容器必须立即在服务器中创建一Bean 实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 方法时容器会把调用分派到与此客户机相关联...10、EJB 事务是如何实现?何时进行回滚;【中等难度】 答:是通过使用容器或Bean 自身管理事务;当产生一系统异常时容器就自动回滚事务。 11、EJB 容器提供服务?

44830

【J2EE】13规范

它提供了一致模型来存取和操作企业级资源如DNS和LDAP,本地文件系统,或应用服务器中对象。...它们提供了一框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂企业级应用开发。EJB规范定义了EJB组件在何时如何与它们容器进行交互作用。...容器负责提供公用服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意是,EJB并不是实现J2EE唯一途径。...4.RMI(Remote Method Invoke): 正如其名字所表示那样,RMI协议调用远程对象上方法。它使用了序列化方式在客户端和服务器端传递数据。...后一种方法提供了另外一种途径,通过它Java可以被用于将你应用和旧系统相集成。

61410

软件构件、中间件、面向对象

EJB在应用服务器EJB容器内运行,由容器提供所有基本中间层服务,如事务管理、安全、远程客户连接、生命周期管理和数据库连接缓冲等。     4、COM是微软公司。...(2)远程过程调用     远程过程调用(Remote Procedure Call,RPC)是一种广泛使用分布式应用程序处理方法。...一应用程序使用RPC来“远程”执行一位于不同地址空间内过程,从效果上看和执行本地调用相同。事实上,一RPC应用分为两部分:服务器可客户机。...一对象是现实世界中一实体抽象,一类是一组对象抽象抽象是一种单一化描述,它强调给出与应用相关特性,抛弃不相关特性。...多态性是一种方法,这种方法使得在多个类中可以定义同一操作或属性名,并在每个类中可以有不同实现。多态性使得一属性或变量在不同时期可以表示不同类对象。

2.9K40

JavaEE - JPA(2):EJB事务管理

(通过@TransactionAttribute),其中方法会被运行在由容器创建事务中(如果声明了需要事务) public void business() {} } 因此,一定义其中方法具体是否需要使用事务...REQUIRED: 运行当前方法时,希望处于事务中。当容器碰到这个注解时,会检查当前是否存在active状态事务。如果存在,就直接使用它;如果不存在,就创建(create)一供它使用。...自问自答,因为一业务方法可能还会调用另外一业务方法,而在在这个被调用内层业务方法中,如果它使用了NOT_SUPPORTED这个选项的话,就会出现需要挂起要求。...所谓标注,表示调用这个方法并不会立即导致事务回滚,而是在将来某个合适时候再来由容器来执行回滚操作,比如在方法结束时候,容器会来检查是否需要回滚。...比如我们有一Bean A,它使用是CMT类型事务管理方式,其中带有事务方法调用了采用BMTBean B中一自行管理事务方法

84310

Spring声明式事务管理

在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一业务方法开始时都会打开一事务。...各种属性意义:        REQUIRED:业务方法需要在一容器里运行。如果方法运行时,已经处在一事务中,那么加入到这个事务,否则自己新建一事务。       ...NOT_SUPPORTED:声明方法不需要事务。如果方法没有关联到一事务,容器不会为他开启事务,如果方法在一事务中被调用,该事务会被挂起,调用结束后,原先事务会恢复执行。       ...REQUIRESNEW:不管是否存在事务,该方法总汇为自己发起一事务。如果方法已经运行在一事务中,则原有事务挂起,事务被创建。       ...REQUIRES_NEW 事务属性总是会在启动方法时启动一事务。许多开发人员都错误地使用 REQUIRES_NEW 属性,认为它是确保事务启动正确方法

91350
领券