3
我在View模式中为我的jsf/icesfaces应用程序使用了开放会话。 像往常一样,servlet过滤器打开和关闭“web服务器线程”开始和结束处的所有休眠会话。休眠'在视图中打开会话'和异步任务
我现在的问题是,我用例如异步任务。从数据库加载大对象列表。因此,我正在创建一个“手动”的执行任务的新线程。
现在我的问题:处理这种异步任务的休眠会话的最佳方式是什么?我应该在线程本身手动创建一个会话,还是像线程一样有servlet过滤器(当线程启动时会打开会话,并在线程结束时关闭会话)?
我会感谢任何最好的practives或类似。谢谢。
下面是它创建线程的代码:
protected static ThreadPoolExecutor threadPool = new ThreadPoolExecutor(5,
15, 50, TimeUnit.SECONDS, new LinkedBlockingQueue(20));
// called by action method of a button
private void asyncLoading() {
SessionRenderer.addCurrentSession(this.renderGroup);
threadPool.execute(new Thread() {
// do the thing to do (...)
}
}