【问题标题】:Wicket with JPA and container managed transactions (CMT)带有 JPA 和容器管理事务 (CMT) 的检票口
【发布时间】:2012-09-26 19:14:28
【问题描述】:

从 JSF 迁移到 Wicket 我继续我的习惯,即让 EJB 外观中的所有 JPA 操作都使用容器的事务管理。我使用并且知道用于注射的 wicket-cdi,效果很好。

不幸的是,如果我在 wicket 页面中注入 EJB,wicket 的序列化检查会抱怨它不可序列化。这对于 EJB 来说是正确的,我想因为它们是代理的。

此时我的思维被卡住了。如何将 jpa 与带有 wicket 的容器管理事务一起使用?我所看到的所有示例都只是读取数据或正在使用 Spring,这是我不想做的。

谢谢 迪特

【问题讨论】:

  • 谢谢,我已经知道了,但我忘了告诉我使用 wicket-cdi,工作正常。我的问题的重点在第二篇文章中提到:“在这一点上,我们对 Hibernate 和 CDI 进行了尽可能少的集成。有几个警告我们将在以后的帖子中修复:没有声明性事务管理,例如 @Transactional或其他机制。无法在 web 线程之外使用 EntityManager,因为工作线程没有对话"

标签: serialization jpa transactions ejb wicket


【解决方案1】:

我在 wicket-users 邮件列表中重复了这个问题,这是一个有趣的线程,有 3 个解决方案。

其中之一是我将 EJB 封装在 LoadableDetachableModel 中并通过 bean 的 JNDI 查找实现加载的想法。见http://mail-archives.apache.org/mod_mbox/wicket-users/201210.mbox/%3C5072F013.9040702%40tremel-computer.de%3E

我在my blog 中发布了一个更通用的解决方案,抱歉,只有德语。

【讨论】:

    猜你喜欢
    • 2015-11-26
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 2012-09-03
    • 2013-09-24
    • 2010-09-09
    相关资源
    最近更新 更多