我正在尝试将我的耳朵从glassfish 2升级到glassfish 3.我们曾经将会话bean和我们的实体都放在一个jar文件中。 I've learned我需要将它们放在单独的jar文件中才能部署到glassfish 3.我这样做的方法是创建一个新的jar并移动会话bean,ejb-jar.xml
,{{ 1}}和persistence.xml
在其中。会话bean lib将旧的lib作为依赖项。旧的lib仍然包含我们使用的自定义sun-ejb-jar.xml
类和实体以及以前的所有其他类。
但是我从集成测试中注意到的是,当抛出异常时,事务不会像过去那样回滚。我现在仍然部署到GF2。除了这个微妙的问题,一切似乎都有效。我该如何解决这个问题?我是否需要将这些Exception
类移动到会话bean jar中?
以下是其中一个例外情况的示例:
Exception
答案 0 :(得分:0)
这是一个GF2错误:https://java.net/jira/browse/GLASSFISH-5183
解决方法是修改你的ejb-jar.xml并在其中添加这样的行:
<assembly-descriptor>
<application-exception>
<exception-class>com.blah.EntityAccessException</exception-class>
<rollback>true</rollback>
</application-exception>
我希望GF3不需要这样做。