我試圖將我的耳朵從glassfish 2升級到glassfish 3.我們曾經將我們的會話bean和我們的實體全部放在一個jar文件中。 I've learned,我需要把它們放在單獨的jar文件中,以便能夠部署到glassfish 3.我這樣做的方式是創建一個新jar,並將會話bean,ejb-jar.xml
,persistence.xml
和sun-ejb-jar.xml
移入其中。會話bean lib將舊的lib作爲依賴項。舊的lib仍然包含我們使用的自定義Exception
類,以及實體和幾乎所有曾經存在的其他類。從Glassfish 2升級到Glassfish 3.異常不再回滾交易
但是我從集成測試中注意到,當異常被拋出時,事務不像以前那樣回滾。我現在是仍然部署到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
//...
}