2015-10-29 4 views
0

Я использовал JBOSS Develper Studio 8, JBOS-сервер 7.1 на основе jre 1.7 У меня есть один проект J2EE (который называется Dnevnik) с ejb (DnenvikEJB) и веб-проектами (DnevnikWEB). Я хочу вызвать ejb из сервлета через jndi lookup. Название EJB - FasadaPrvi, а его удаленный интерфейс - FasadaPrviRemote. У меня есть проблема со всеми этими вариантами кода:Вызов EJB из сервлета

InitialContext context = new InitialContext(); 
FasadaPrvi fasadaPrvi = (FasadaPrvi)context.lookup("java:comp/env/FasadaPrvi"); 

InitialContext context = new InitialContext(); 
FasadaPrvi fasadaPrvi = (FasadaPrvi)context.lookup("java:app/DnevnikEJB/FasadaPrvi"); 

InitialContext context = new InitialContext(); 
FasadaPrvi fasadaPrvi = (FasadaPrvi)context.lookup("java:global/DnevnikEJB/FasadaPrvi"); 

InitialContext context = new InitialContext(); 
FasadaPrvi fasadaPrvi = (FasadaPrvi)context.lookup("java:global/Dnevnik/DnevnikEJB/FasadaPrvi!sr.co.FasadaPrviRemote"); 

Кто-нибудь знает, где проблема !?

ответ

0

От JBoss-вики: https://docs.jboss.org/author/display/AS71/JNDI+Reference https://docs.jboss.org/author/display/AS71/Remote+EJB+invocations+via+JNDI+-+EJB+client+API+or+remote-naming+project

Context ctx = new InitialContext(jndiProps); 
// lookup the bean  Foo 
beanRemoteInterface = (Foo) ctx.lookup("myapp/myejbmodule/FooBean!org.myapp.ejb.Foo"); 
String bar = beanRemoteInterface.sayBar(); 

и:

ejb:myapp/myejbjar/MyEjbName!com.test.MyRemoteInterface 
ejb:myapp/myejbjar/MyStatefulName!comp.test.MyStatefulRemoteInterface?stateful 

Кроме того, во время развертывания EJBs, Jboss показывает информацию, с которой JNDI-имена ваши бобы были бы видны ,

09:25:07,852 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-4) JNDI bindings for session bean named RegistrationService in deployment unit subdeployment "MY_EJB-15.99.00.war" of deployment "MY_EAR-15.00.ear" are as follows: 

    java:global/MY_EAR-15.00/MY_EJB-15.00/RegistrationService!foo.RegistrationService 
    java:app/MY_EJB-15.00/RegistrationService!foo.RegistrationService 
    java:module/RegistrationService!foo.RegistrationService 
    java:global/MY_EAR-15.00/MY_EJB-15.00/RegistrationService 
    java:app/MY_EJB-15.00/RegistrationService 
    java:module/RegistrationService 
Смежные вопросы