我正在尝试将我的耳朵从 glassfish 2 升级到 glassfish 3。我们曾经将会话 bean 和实体都放在一个 jar 文件中。 我了解到我需要将它们放在单独的 jar 文件中才能部署到 glassfish 3。我这样做的方法是创建一个新 jar 并将会话 bean、 和 移动ejb-jar.xml
到persistence.xml
其中sun-ejb-jar.xml
。会话 bean 库将旧库作为依赖项。旧的库仍然包含Exception
我们使用的自定义类和实体以及几乎所有其他曾经存在的东西。
但是我从集成测试中注意到的是,当抛出异常时,事务不会像以前那样回滚。我现在仍在部署到 GF2。除了这个微妙的问题,一切似乎都在工作。我该如何解决这个问题?我需要将这些Exception
类移动到会话 bean jar 中吗?
以下是这些异常之一的示例:
@ApplicationException(rollback=true)
public class MessageOutOfOrderException extends ConditionException { //this is the one that gets thrown
//...
}
@ApplicationException(rollback=true)
public class ConditionException extends Exception { //this is the parent. It also gets thrown directly sometimes
//...
}