我正在使用ejb-2,我得到了以下异常。有人能告诉我这意味着什么吗?有什么办法可以解决这个问题呢?
错误(致命):EJB异常:;嵌套异常是: javax.ejb.TransactionRolledbackLocalException:错误提交事务:;嵌套异常是: weblogic.transaction.internal.AppSetRollbackOnlyException
发布于 2013-01-14 10:08:29
尽量找出什么是真正的例外。为此,将ejb转换为使用bean管理的事务。然后可以手动提交并捕获提交抛出的异常。
当使用容器管理事务时,WebLogic喜欢隐藏在提交阶段抛出的异常。通常原因是数据库约束-- EJB层所不知道的--例如。Oracle中基于函数的唯一索引。
发布于 2015-07-08 10:25:28
我也面临着同样的问题。我只想和大家分享我的经验。在上述例外情况中没有提及实际例外是正确的。为了揭示这个异常,我使用了wlspy.jar工具。使用这个工具,我在配置的日志文件中获得了内部sql活动。因此,我得到了隐藏的sql约束异常。配置步骤: 1)在weblogic服务器类路径中添加wlspy.jar。2)在数据库源中添加与wl间谍相关的配置。
例如:
jdbc:bea:DB2://db2host:50000;spyAttributes=(log=(file)/opt/bea/logs/mySpy.log;timestamp=yes)
在此之后,重新启动weblogic服务器并执行该活动。您将在mySoy.log文件中获得与数据库相关的日志。在我的例子中,我得到了实际的约束异常。
通过这个链接:01/web.1111/e13753/spy.htm#JDBCD469
发布于 2014-03-04 14:51:24
您应该将更改刷新到数据库中,然后ejb可能会显示真正的异常。如果不起作用,就把可能导致异常的点放平。通过这种方式,您可以保证找到真正的位置,也是异常的真正原因。
https://stackoverflow.com/questions/14314713
复制相似问题