【问题标题】:Can anyone point me to an alternative for JavaEE SessionContext谁能给我指出 JavaEE SessionContext 的替代方案
【发布时间】:2014-12-26 03:55:43
【问题描述】:

在 Java EE 上下文中,特别是在 CDI ApplicationScoped 对象中,我需要强制回滚容器管理的事务。 (它是 JPA(事务)动作和一些文件系统动作的组合,后者不是真正的事务性,所以我必须手动做一些事情)

我之前可以使用SessionContext,但是在注入更多依赖项之后,框架(WildFly 8.1.0 中的 Weld CDI)不再将我的ApplicationScoped 对象标记为会话或消息驱动的 bean . (根据错误消息,很可能是正确的)

所以问题是:还有其他选择吗?我确实查看了UserTransaction,但“遭受”与SessionContext 相同的限制。

【问题讨论】:

    标签: java jakarta-ee jpa cdi jta


    【解决方案1】:

    我遇到了a post by Jaikiran Pai-2,这促使我研究了一个名为TransactionSynchronizationRegistry 的替代方案,它被认为是在这些情况下要走的路。 (引用:很少解释此 API 的用法,应用程序/库继续使用 UserTransaction。)

    我必须使用此代码注释注入点:

    @Resource(name = "java:comp/TransactionSynchronizationRegistry")
    private TransactionSynchronizationRegistry transactionSynchronizationRegistry;
    

    我试过了,效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-29
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-01
      相关资源
      最近更新 更多