2014-07-18 1 views
2

javaee 6의 튜토리얼에서 EJB 모듈과 WEB 모듈을 다른 두 머신에 배포 할 수 있다는 것을 읽었습니다. 그러나 나는 이것을 달성하는 방법에 대한 튜토리얼을 찾을 수 없다. 웹 응용 프로그램의 구성 요소가 원격 EJB를 찾을 수 있도록 두 서버를 어떻게 연결해야합니까? 그것을 실현하는 방법을 여기글래스 피쉬 3는 웹 모듈과 ejb 모듈을 독립적으로 배포합니다.

답변

0

:

는 EJB 아카이브 및 웹 애플리케이션에 존재할 수 있도록 EJB는

@Stateless(name = "beanname", mappedName = "jndiBeanName") 
public class TheBean implements TheBeanRemote { 

    @Override 
    public String theMethod(String str) { 

     return " Bean Invoked " + str; 
    } 
} 

는 EJB의 원격 인터페이스 muste 별도 JAR 될 아카이브

Y 어딘가에 마지막으로
@Remote 
public interface TheBeanRemote { 

    public String theMethode(String str); 

} 

우리의 서블릿 : 나는 귀 아카이브의 EJB를 포장

InitialContext ic; 
    TheBeanRemote br; 
    try { 
     String jndiName = TheBeanRemote.class.getName(); 
     ic= new InitialContext(); 
     at =(TheBeanRemote) ic.lookup("jndiBeanName"); 

     return at.theMethod(parameter); 
    } catch (NamingException ex) { 
     // 
    } 

참고.

+0

두 모듈이 같은 서버에 배포 될 때 작동합니다. – elsadek