考虑服务,它thread
在其中启动一些。是否会Tapestry 5
部分管理该线程,例如关闭hibernate
此类线程内的会话?(例如,我们可以Session
从服务中传递这样的子线程内的对象。Tapestry
在线程死亡后会安全地关闭这个会话吗?)。
问问题
210 次
2 回答
2
Tapestry 只能管理在你的 AppModule 中声明的东西。
作为一个简单的规则,如果您使用“new”关键字,它不会由 Tapestry 管理。
如果您希望 Tapestry 管理您的可运行文件,请查看 ParallelExecutor
如果你想模仿挂毯管理的线程,你必须在你的可运行对象完成后调用 Perthreadmanager.cleanup() 。
于 2013-03-23T01:37:19.810 回答
0
Hibernate 会话附加到处理当前请求的 Web 容器线程。
如果您决定生成自己的线程并将该 Session 传递给它,那么只有在 Tapestry 提交之前或上述 Web 容器的线程结束处理该请求之前完成更改,才会提交对该 Session 的更改。
Tapestry 对休眠会话的控制绑定到当前请求,在处理请求后会话关闭,因此生成另一个比使用会话的请求更长的线程将是一个坏主意。
于 2013-03-22T15:37:45.277 回答