JPA Eclipselink EntityManager在使用REQUIRES_NEW时保留在内存中

JPA Eclipselink EntityManager在使用REQUIRES_NEW时保留在内存中,jpa,eclipselink,glassfish-3,Jpa,Eclipselink,Glassfish 3,我注意到Eclipselink版本2.5.2中存在内存泄漏。 当我使用TransactionAttributeType.REQUIRES_NEW在自己的事务中运行子任务时,Eclipselink的一些实例正在内存中累积 例如,从其他无状态bean调用此方法: @Stateless @TransactionManagement(TransactionManagementType.CONTAINER) ... @TransactionAttribute(TransactionAttributeTyp

我注意到Eclipselink版本2.5.2中存在内存泄漏。 当我使用TransactionAttributeType.REQUIRES_NEW在自己的事务中运行子任务时,Eclipselink的一些实例正在内存中累积

例如,从其他无状态bean调用此方法:

@Stateless
@TransactionManagement(TransactionManagementType.CONTAINER)
...
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public void removeFromQueue(Long id) {
    DelayedUpdateQueue item = em.getReference(DelayedUpdateQueue.class, id);
    em.remove(item);
}

我发现使用REQUIRES_NEW必须创建EntityManager的另一个实例,并打开到PostgreSQL数据库的第二个连接。但为什么它从未被清除

如果我在不使用REQUIRES_NEW的情况下调用该方法,EntityManagerImpl的金额将保持很低三,

在探查器中单击垃圾收集也不会删除它们

更新:

使用较新版本的jdbc驱动程序并将数据源从XADataSource(项目中并不需要)切换到ConnectionPoolDatasource后,问题就消失了

Old driver version: postgresql-9.4-1201-jdbc4.jar
New driver version: postgresql-9.4.1212.jre7.jar
谢谢你的反馈