gpt4 book ai didi

java - 谁能给我指出 JavaEE SessionContext 的替代方案

转载 作者:太空宇宙 更新时间:2023-11-04 06:27:06 24 4
gpt4 key购买 nike

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

我能够使用SessionContext之前,但在注入(inject)更多依赖项之后,框架(WildFly 8.1.0 内的 Weld CDI)没有标记我的 ApplicationScoped对象不再作为 session 或消息驱动的 bean。 (根据错误消息,很可能是这样)

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

最佳答案

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

我必须使用以下代码注释注入(inject)点:

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

我尝试了一下,效果非常好。

关于java - 谁能给我指出 JavaEE SessionContext 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26647399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com