我有一个由maven管理的应用程序,有两个模块:一个用于持久性,另一个用于webapp本身(gwt)。Guice-Persist:尝试在关闭的EntityManager上执行操作
我在持久性模块中的测试就像一个魅力,但在webapp中,当我多次执行相同的方法时,我得到了一个java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManager.
。
我使用guice-persist将实体管理器注入我的DAO,并且我所有的DAO方法都有@Transactional
注释。
在我的web应用程序,我把: 公共类ScuvServletModule扩展的servlet {
@Override
protected void configureServlets() {
super.configureServlets();
install(MyPersistenceAPI.getModule()); // return my module and install it
filter("/*").through(PersistFilter.class);
/// another bindings...
}
}
如果我删除PersistFilter
,它wotks,而是随机抛出一个交易关闭异常或类似的东西。
任何帮助?