我们的应用程序由三部分组成:
1. 一个核心模块,它包含模型和DAO 类以及spring 配置。
2.一个web模块,使用core包,在(门户)web环境中执行。
3.一个tasks模块,同样使用core包,作为定时任务执行(无web上下文)
我们尝试为 Web 模块引入带有Spring Filter的 OpenEntityManagerInView 模式。据我了解,DAO 不能关闭 EntityManager,因为过滤器会这样做。此外,我会注入一个EntityManager
with@PersistenceContext
而不是EntityManagerFactory
with @PersistenceUnit
(对吗?)。
但是,如何在任务模块中通过这些修改重用相同的核心包?没有过滤器可以控制 EntityManager 的生命周期。