Exception 使用运行在JBoss AS上的EclipseLink处理JTA异常 使用 Java 1.6 JBossAS7.1.1 日食2.4.1 JTA 更新问题

Exception 使用运行在JBoss AS上的EclipseLink处理JTA异常 使用 Java 1.6 JBossAS7.1.1 日食2.4.1 JTA 更新问题,exception,jpa,eclipselink,jboss7.x,jta,Exception,Jpa,Eclipselink,Jboss7.x,Jta,当我在使用flush的try-catch中自己处理错误时,如何抑制JBoss抛出的stacktrace 问题: 我正在尝试使用em.persist(entity)持久化一个实体。如果没有违反任何数据库约束,则一切正常。但是,如果持久化实体违反了唯一约束,则会抛出异常。我正在使用JBoss处理的事务,因此异常是从另一个线程抛出的 我已经发现,通过在persistence.xml中设置eclipselink.exception-handler,可以全局处理这些异常 我的问题是如何在本地捕获和处理这些

当我在使用flush的try-catch中自己处理错误时,如何抑制JBoss抛出的stacktrace

问题: 我正在尝试使用em.persist(entity)持久化一个实体。如果没有违反任何数据库约束,则一切正常。但是,如果持久化实体违反了唯一约束,则会抛出异常。我正在使用JBoss处理的事务,因此异常是从另一个线程抛出的

我已经发现,通过在persistence.xml中设置eclipselink.exception-handler,可以全局处理这些异常

我的问题是如何在本地捕获和处理这些异常?

调用em.flush()会将语句立即强制到数据库中,并且可以在提交之前包装在try-catch块中处理异常,尽管大多数持久性异常都会将事务标记为回滚。

没错,flush()使异常立即被抛出和捕获。但是,我仍然会通过包
com.arjuna.ats.arjuna
org.jboss.ejb3.invocation
记录大量堆栈跟踪。我该怎么阻止这一切?