Java 混合事务上下文(cdi和ejb)

Java 混合事务上下文(cdi和ejb),java,jakarta-ee,ejb,cdi,Java,Jakarta Ee,Ejb,Cdi,我不熟悉CDI和EJB,并且我知道在EJB中执行JPA查询时,您拥有wildfly事务上下文,因为它的容器围绕每个方法进行管理,在出现错误时提供回滚,但在CDI中您没有 现在我的问题是,如果EJB正在注入/使用一个请求范围的CDIBean作为示例,并且该CDIBean在EJB方法内执行JPA查询,该怎么办?CDI查询在EJB方法中执行后是否具有事务上下文(tx管理)?为什么这是一个糟糕的问题?可能是因为它太琐碎了,Stackoverflow不接受“是”或“否”作为答案。如果我不得不猜测,“thi

我不熟悉CDI和EJB,并且我知道在EJB中执行JPA查询时,您拥有wildfly事务上下文,因为它的容器围绕每个方法进行管理,在出现错误时提供回滚,但在CDI中您没有


现在我的问题是,如果EJB正在注入/使用一个请求范围的CDIBean作为示例,并且该CDIBean在EJB方法内执行JPA查询,该怎么办?CDI查询在EJB方法中执行后是否具有事务上下文(tx管理)?

为什么这是一个糟糕的问题?可能是因为它太琐碎了,Stackoverflow不接受“是”或“否”作为答案。如果我不得不猜测,“thingy”的使用可能也会让您投下一些反对票。对此给出一点答案——如果EJB启动事务,它将传播到CDIBean。如果您的CDI bean被注释为
@Transactional
,那么如果尚未启动,它也将启动事务。这是一个很好的问题,请参阅John的答案,下次使用“事务管理器”而不是“thingy”:-)谢谢各位,请给我一个答案,我会接受它。我用thingy是因为我不知道它是经理还是背景,是sope还是holder什么的:)为什么这是个糟糕的问题?可能是因为它太琐碎了,Stackoverflow不接受“是”或“否”作为答案。如果我不得不猜测,“thingy”的用法可能也会让你投下一些反对票。对此给出一点答案——如果EJB启动事务,它将传播到CDIBean。如果您的CDI bean被注释为
@Transactional
,那么如果尚未启动,它也将启动事务。这是一个很好的问题,请参阅John的答案,下次使用“事务管理器”而不是“thingy”:-)谢谢各位,请给我一个答案,我会接受它。我使用thingy是因为我不知道它是管理者、上下文、sope或持有者还是什么:)