我们在jboss服务器上部署了REST服务。直到最近,我们仅配置了一个事务,而这是在服务层。因此,要么交易成功,要么一切都已提交,如果发生异常,一切都将回滚。
我们现在已经开始将记录添加到表中,即使该服务返回失败响应也是如此。为此,我们在rest服务使用的api上添加了注释:
@Transactional(propagation = Propagation.REQUIRES_NEW)
这意味着如果我们从服务中引发异常,则该行将保存到数据库中。
但是,由于我们添加了此新事务,因此出现了连接泄漏,我可以在日志中看到这一点:
javax.resource.ResourceException:IJ000453:无法得到管理 java:/ jdbc / xxx的连接 org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:151) 在 org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:69)
我猜发生异常时不会释放已提交的连接。是否需要一些额外的配置?