【发布时间】:2011-08-10 15:45:30
【问题描述】:
我有一个生产 MyResourceManager 的 pojo 生产者。
@TraderResouceManager @RequestScoped public MyResourceManager(){ ... ... }
MyResourceManger 被注入到 SLSB
@inject @TraderDB private MyResourceManager rm;
disposer是一个followers
公共无效关闭(@Disposes @TraderResouceManager MyResourceManager rm){ rm.close(); }
问题
close()什么时候执行?
是在成交前还是成交后?
编辑:这个问题可能需要额外的解释。让我们以数据库连接为例。
我用@RequestScoped 创建了一个@producer,使用pojo 为每个请求创建一个新连接。
我需要的是在请求结束时处理连接。 此连接由其他 bean 共享(现在为 SLSB)。在给定的请求中,可能涉及在事务中运行的许多 bean。 因此,只有在所有事务都逻辑关闭后,我才需要关闭连接。
问题 当我使用容器管理事务时,我是否能够使用上述代码实现此行为?
【问题讨论】:
标签: java jboss cdi ejb-3.1 jboss-weld