0
내 Jboss As 7.1 서버에 SessionServiceBean
이라는 세션빈을 배치했습니다. 내가 얻을JNDI : EJB를 찾을 수 없습니다.
service = (SessionService) jndiCtx.lookup("java:global/replay-ear/account-ejb/SessionServiceBean!de.replay.account.SessionService");
을 : 이제 난 내 JUnit 테스트 케이스에서 빈을 조회하려고하면
JNDI bindings for session bean named SessionServiceBean in deployment unit subdeployment "account-ejb.jar" of deployment "replay-ear.ear" are as follows:
java:global/replay-ear/account-ejb/SessionServiceBean!de.replay.account.SessionService
java:app/account-ejb/SessionServiceBean!de.replay.account.SessionService
java:module/SessionServiceBean!de.replay.account.SessionService
java:jboss/exported/replay-ear/account-ejb/SessionServiceBean!de.replay.account.SessionService
java:global/replay-ear/account-ejb/SessionServiceBean
java:app/account-ejb/SessionServiceBean
java:module/SessionServiceBean
: 배포에서 나는 콩에 대한 올바른 JNDI 식별자를 듣고 콘솔에서 다음과 같은 출력을 얻을 예외 서버가 빈 찾을 수 없습니다 것을 말해 :
javax.naming.NameNotFoundException: global/replay-ear/account-ejb/SessionServiceBean!de.replay.account.SessionService -- service jboss.naming.context.java.jboss.exported.global.replay-ear.account-ejb."SessionServiceBean!de.replay.account.SessionService"
at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:97)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:178)
at org.jboss.naming.remote.protocol.v1.Protocol$1.handleServerMessage(Protocol.java:127)
at org.jboss.naming.remote.protocol.v1.RemoteNamingServerV1$MessageReciever$1.run(RemoteNamingServerV1.java:73)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
내가 JNDI 식별자로이 오류를 이해 해달라고 로그에 출력을 matchs 내 클라이언트는 반드시 연결을위한 올바른 서버.
인증에 사용하는 사용자가 jndi 조회에 필요한 권한을 가지고 있지 않습니까? 나는 실제로 이것이 작동하지 않는 이유를 전혀 모른다. 원격 ejbs로 처음으로 작업했습니다.