Это странная ситуация. Позвольте мне объяснить это как можно лучше.
У меня есть интерфейс Client
, в котором есть методы, которые выдают пользовательское исключение.
Мой EJB3 Remote расширяет этот интерфейс Client
и был аннотирован @Remote
.
Мой EJB3 Bean использовался для расширения Remote и был аннотирован @Stateless
.
Теперь прибывает странность. Из-за очень специфической проблемы я не могу развернуть jar-файлы EJB3 на моем сервере приложений. (Вопрос не в том, как мне решить эту проблему развертывания.)
Теперь я должен понизить код с EJB3 до EJB2.
Поскольку все методы в моем удаленном интерфейсе должны выдавать RemoteException
(спецификация EJB2), я больше не могу расширяться от моего Client
интерфейса.
Опция, с которой я остаюсь - это создание EJB2Wrapper, который может расширяться от интерфейса Client
и в каждом методе, который я вызываю, в удаленный интерфейс.
Это создает уродливый блок try catch для каждого метода, так как мне нужно поймать RemoteException
.
Есть ли лучший способ сделать это?