Повторное использование интерфейса @Remote в двух приложениях J2EE - PullRequest
0 голосов
/ 06 сентября 2011

У нас есть основное приложение и клиентское приложение, развернутое на Glassfish 3.1. Основное приложение вызывает клиентское приложение через поиск JNDI через интерфейс @Remote. Теперь мы попытались развернуть другое клиентское приложение, использующее тот же интерфейс @Remote, в надежде, что оно сможет вызывать оба приложения, но просто изменить целевое имя EJB. Однако мы получили следующее исключение:

Caused by: java.lang.RuntimeException: Error while binding JNDI name com.company.ClientRemote for EJB : Client2
    at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1550)
    at com.sun.ejb.containers.StatelessSessionContainer.initializeHome(StatelessSessionContainer.java:202)
    at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:167)
    at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:234)
    ... 67 more
Caused by: javax.naming.NameAlreadyBoundException: Use rebind to override

Оба клиента должны иметь общую функциональность, и эта функция используется основным приложением при вызове клиентов.

Как вы предлагаете обойти это?

Спасибо!

...