2016-11-13 3 views
0

Я новичок в JNDI пространства имен, и я пытаюсь для поиска моего EJB-класса от класса обслуживания через код нижепросмотра EJB-компонент Выполнение JNDI имя

InitialContext ctx; 
     try { 
      ctx = new InitialContext(); 
      ctx.lookup("?????"); 
     } catch (NamingException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

Но я на самом деле не имею никакого понятия, что для поиска внутри. Я знаю, что имя jndi отправляется туда. Но откуда я могу получить имя jndi для моего класса ejb. Я новичок в этой вещи и на самом деле не могу уделять много времени изучению JNDI.

+0

Это зависит от того, как вы должны создать свой боб, если локальный, удаленный, просмотр не-интерфейс. Итак, правильный ответ - изучить документацию [Accessing Enterprise Beans] (http://docs.oracle.com/javaee/6/tutorial/doc/gipjf.html) и попытаться разработать JNDI-имя вашего компонента. Или, гораздо быстрее, посмотрите журнал запуска вашего сервера приложений, должна быть запись о имени JNDI вашего компонента. – Leonardo

ответ

0

См. Файл журнала сервера. Когда EJb beans развернуты. Это выглядит примерно так

JNDI креплениями для сессионного компонента имени SampleImpl в развертывании блок subdeployment «образец-веб-1.0.0.war» развертывания «xyz.ear» заключаются в следующем:

Пример кода для поиска компонента EJB.

final Hashtable jndiProperties = new Hashtable(); 
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming"); 
final Context context = new InitialContext(jndiProperties); 
SampleIf sif = (SampleEJBIf) context.lookup("java:app/sample-ejb-1.0-SNAPSHOT/SampleImpl"); 

Другие способы определения Уточняющий путь

java:global/pms/pms-web-1.0.0/SampleClass!com.etipl.pms.x12.SampleClass 
java:app/pms-web-1.0.0/SampleClass!com.etipl.pms.x12.SampleClass 
java:module/SampleClass!com.etipl.pms.x12.SampleClass 
java:global/pms/pms-web-1.0.0/SampleClass 
java:app/pms-web-1.0.0/SampleClass 
java:module/SampleClass 
Смежные вопросы