java - 在 Java 中捕获 TransactionRolledbackLocalException

标签 java transactions websphere containers

我在 Websphere 7 中从容器收到 javax.ejb.TransactionRolledbackLocalException,我想知道如何捕获此异常?我在 Websphere 中设置了超时,并在此时间后收到此消息。我运行 session bean。

我正在尝试查找导致此异常的 SQl 语句。我在哪里可以找到它?

最佳答案

As per Sun's docs 这是底线指南:如果可以合理地预期客户端会从异常中恢复,则将其设置为已检查的异常。如果客户端无法执行任何操作来从异常中恢复,请将其设为未经检查的异常。

TransactionRolledbackLocalException是未经检查的异常,如果发生,您无能为力。你可以按照 Aaron Digulla 在他的回答中建议的那样捕获它,但有什么意义呢?

如果你捕获了它,那么你就会弄乱应用程序服务器的内部结构。您将在客户端收到异常,您可以对客户端收到的异常调用 getCause() 以正确通知用户。

你有两种解决方案

  1. 查看导致超时的原因 (可能是错误的 SQL)
  2. 增加超时

关于java - 在 Java 中捕获 TransactionRolledbackLocalException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3054626/

相关文章:

osgi - 如何定义最低 GRE 要求(1.5 _ 或更高 _)?

java - 在 Java 中使用 OpenCV 比较图像相似度

c# - 具有数据库事务的工作单元模式

hibernate - 在不同的数据库中创建 envers 审计表,最好在不同的事务中完成日志记录

java - WebSphere 身份验证问题——也可能打开文件

authentication - 如何配置 Apache HttpClient 4.x 以使用特定的 Websphere SSL 别名?

java - JFreeChart - 监听系列的更改

java - 为什么 httpclient 在 DO droplet 上有不同的行为(与 SSL 相关)?

c# - 具有可重复读取隔离的事务中的数据是否可能发生变化?

java - 在 IBM Rational Software Architect for Java6 Maven 安装中收到致命警报 : protocol_version to https://repo. maven.apache.org/maven2/