2014-12-06 8 views
1

среды:Glassfish и javax.naming.NameNotFoundException после приложения Reload

GlassFish сервер Open Source Edition 4.1

Disable-непереносимые-JNDI-имена: истинные

Проблема:

Когда я развертываю или переустанавливаю приложение - все работает нормально. Но после Reload или Отключить/Включить следующее исключение возникает во время подключения от автономного клиента:

Исключение в потоке «главный» javax.naming.NamingException: Lookup Сбой «Java: глобальный/SynisBackendEAR/SynisBackend/UnitronicsDriver» ...

...

Вызванный: javax.naming.NameNotFoundException: UnitronicsDriver не нашел ...

...

Вызвано: java.lang.IllegalStateException: Исключение пытается ввести локальный ejb-ref name = com.protechnologia.synis.drivers.unitronics.UnitronicsDriver/configurationProvider, Local 3.x interface = com.protechnologia.synis.settings.ConfigurationProvider , ejb-link = null, lookup = java: app/SynisBackend/ConfigurationProviderXML, mappedName =, jndi-name =, refType = сеанс в класс com.protechnologia.synis.drivers.unitronics.UnitronicsDriver: объект не является экземпляром объявления класс

...

Шифр ​​автономного клиента:

InitialContext ctx = new InitialContext(); 
Driver bean = (Driver) ctx.lookup("java:global/SynisBackendEAR/SynisBackend/UnitronicsDriver"); 
bean.test(); 

Я хочу упомянуть, что после развертывания или перераспределения все работает нормально.

Ключ:

Я нашел TAHT проблема заключается в следующем поиск TAHT работает на Deplyment и не работает иначе:

@Singleton 
@Startup 
public class UnitronicsDriver implements Driver { 

    @EJB(lookup = "java:app/SynisBackend/ConfigurationProviderXML") 
    protected ConfigurationProvider conf; 

Следующая подсказка:

Замена @EJB ручным поиском решает проблему, но почему?

conf = (ConfigurationProvider) ctx.lookup("java:app/SynisBackend/ConfigurationProviderXML"); 

ответ

0

И наконец - нашел его !!!

Проблема заключалась в том, что EJB я хотел привнести что-то осуществляет @Remote интерфейс вместо @LOCAL.

Возможно, что-то, что нужно сделать с помощью справки об ошибке с помощью ссылок @Remote.

Смежные вопросы