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