2012-01-16 3 views
0

jboss와 tomcat을 동일한 머신에 설치했다. (jboss 6은 포트 8080을 가지고 있고 tomcat 7은 8090을 가지고있다.) 그리고 ejb 조회를 얻기 위해 tomcat에서 JNDI 조회를 사용하려고한다. JBoss에서. jmx 콘솔을 사용하여 EJB 빈이 사용 가능한지 확인했습니다. 나는 그들이 @Remote로 표시하고 JMX 콘솔에서 이러한 EJB는 기한대로 aaaServiceRemote/원격 bbbServiceRemote/원격 등tomcat JNDI 원격 EJB를 loking하기

난 바람둥이, 나는 서비스 로케이터 및 응용 프로그램이 시작 구성되어 내 응용 프로그램 전쟁을 뒀다

서비스 위치 지정자가 EJB를 찾고 실패합니다. jboss/client에서 tomcat/lib 폴더로 복사 한 jnp-client 및 jboss-all-client jar 파일을 넣었습니다. 다음 항목으로 구성된 tomcat의 webapp 디렉토리에 jndi.properties 파일을 넣었습니다.

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory 
java.naming.provider.url=localhost:1099 
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces 

은 그 바람둥이가 JNDI 컨텍스트되지 원격 제이 보스의 JNDI 컨텍스트에서 EJB를 찾기 위해 노력하고있다 보인다.

이 원격 조회 기능을 활성화 할 수있는 방법에 대한 도움이 필요합니다.

답변

1

jndi.properties 파일을 제대로 읽지 못하는 것 같습니다. 첫 번째 JNDI 조회를 작성할 때 이러한 특성이 InitialContext 오브젝트에 전달되는지 여부를 확인하려고 했습니까?

디버그는 무엇을 나타 냅니까?

+0

답장을 보내 주셔서 감사합니다. 서비스 찾기 코드가 (T)에 실패합니다. ctx.lookup ("aaaServiceBean/remote"); tomcat에서 디버깅 할 때 위의 jndi.properties 설정을 사용했던 jboss 자체에서 jndi 조회를 수행했습니다. 하지만 우리가 바람둥이에서 원격 jboss 호출 이후 jndi.properties뿐만 아니라 변경해야한다고 생각합니다. 'code' env.put (Context.PROVIDER_URL, "corbaloc : iiop : [email protected] : 2809/NameService")와 같은 것입니다. WSSERVLET11 : 는' – Sanath

+0

을 code' 그것의 NamingException (javax.naming.NameNotFoundException) – Sanath

+0

내가 속성을 초기화하고 컨텍스트를 생성하고 오류 'SEVERE을받은 jndi.properties하지 않고 코드를 사용하여 시도를 던졌습니다 실패 parse runtime descriptor : java.lang.ClassCastException : javax.naming.Reference를 com.MyBean '으로 캐스팅 할 수 없습니다. – Sanath