這是一個奇怪的情況。讓我盡我所能解釋它。將EJB3移植到EJB2
我有一個接口Client
其中有引發自定義異常的方法。 我的EJB3 Remote擴展了此接口Client
並註釋了@Remote
。 用於擴展遠程的我的EJB3 Bean被標註爲@Stateless
。
現在來了怪異。由於一個非常特殊的問題,我無法在我的應用程序服務器上部署任何EJB3 jar。 (問題不在於我如何解決此部署問題。)
現在我必須將代碼從EJB3降級到EJB2。 由於我的遠程接口中的所有方法都必須拋出RemoteException
(EJB2規範),所以我不能再從我的Client
接口擴展。
我留下的選項是創建一個EJB2Wrapper,它可以從Client
接口和我調用到遠程接口的每種方法中擴展而來。
這會爲每種方法創建醜陋的try catch塊,因爲我必須趕上RemoteException
。
有沒有更好的方式來做到這一點?