У нас есть основное приложение и клиентское приложение, развернутое на 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
Оба клиента должны иметь общую функциональность, и эта функция используется основным приложением при вызове клиентов.
Как вы предлагаете обойти это?
Спасибо!