EJB 3 может реализовать 2 удаленных интерфейса? - PullRequest
4 голосов
/ 03 августа 2011

У меня есть 2 удаленных интерфейса, скажем Example.java и RealExample.java.Мой бин Bean.java реализует эти 2 удаленных интерфейса.

Согласно спецификации EJB 3.0 мы можем реализовать 2 удаленных интерфейса в одном бине.Мой первый интерфейс в a.jar, а другой интерфейс в b.jar.

Как я могу убедиться, что соответствующие заглушки сгенерированы в aclient.jar и bClient.jar.Я не хочу, чтобы мои окурки были в одной банке.

Ответы [ 2 ]

3 голосов
/ 04 августа 2011

Так как добавление динамических прокси в JDK и динамический RMI-IIOP (2006), современные серверы приложений не требуют древней концепции создания заглушек вручную (не говоря уже оеще более старая концепция скелетов).

Например, по крайней мере, для JBoss AS 4.x +, Glassfish и частично WebSphere 7 все, что вам нужно включить в свои клиентские банки:интерфейсы.Больше ничего не нужно. (К сожалению, по неизвестной причине WebSphere реализует эту относительно простую функцию только частично, поэтому, если вы используете WebSphere и у вас есть клиент Java SE, я чувствую вашу боль)

Кстати, такжеобратите внимание, что прокси, который вы получаете с удаленного сервера, может быть напрямую преобразован в интерфейс.Нет PortableRemoteObject (другой древний концепт) или чего-то подобного.

3 голосов
/ 03 августа 2011

Да, EJB 3 может реализовывать два удаленных интерфейса. Как генерируются заглушки и в каких JAR помещаются заглушки, выходит за рамки спецификации EJB: это зависит от поставщика.

Я могу сказать, что инструмент createEJBStubs WebSphere Application Server будет генерировать заглушки в том же JAR-файле, что и сами интерфейсы.

...