2014-12-23 4 views
0

2 개의 EJB 응용 프로그램을 배포 한 JBoss EAP 6.1 인스턴스가 있습니다. 서버가 오류없이 시작됩니다!EJB 조회가 작동하지만 메서드 호출이 수행되지 않습니다

이제 이러한 EJB를 호출하는 javaSE 응용 프로그램을 만들었습니다. 나는 그것이 잘 작동 applicationA/EJBBean!br.com.sample.EJBRemote에서 EJB의 조회를 할 경우 여기

그리고

... 문제이고, 나는 그것을 형성 어떤 방법을 호출 할 수 있습니다.

하지만 EJB를 조회하면 applicationB/EJBBean!br.com.sample.EJBRemote에서 올바르게 작동합니다. 그러나 메서드를 호출하면 javaSE 응용 프로그램이 중지됩니다. 나는 오류도 출력도 없다. 메서드 구현의 첫 번째 줄에 중단 점을 넣었습니다. 실행되지 않았 음을 알았습니다. 잘

작동

final MyRemote beanA = EJBUtils.getEJB("appA", "MyBean", MyRemote.class); 
final MyRemote beanB = EJBUtils.getEJB("appB", "MyBean", MyRemote.class); 

둘 다하지만 내가 할 :

public static <T> T getEJB(final String moduleName, final String beanName, final Class<T> viewClass) throws NamingException { 
    final String lookupName = aplicationName + "/" + beanName + "!" + viewClass.getName(); 
    return (T) ic.lookup(lookupName); 
} 

내가 main 메소드에서이 전화 :

내 검색 코드는 다음입니다

beanA.methodA(); // This works and prints "methodA" onto console. 
beanB.methodA(); // This doesn't work. And dont print any thing onto console. 
System.out.println("...") // This line doesn't execute 
+0

안녕하세요. 나는 당신의 경우를 확인하고 두 가지 방법 모두 내 컴퓨터에서 잘 작동합니다. 사용중인 InitialContext 매개 변수와 함께 클라이언트의 코드를 게시 할 수 있습니까? appA.jar로 appA를 패키징하고 appB.jar (두 ejb 항아리)로 appB를 패키징합니까? – zbig

답변

-1

루 메모리 문제 같은 ks. JVM에 설치된 폴더로 이동하여 힙 덤프를 찾으십시오. 당신은 확실히 단서를 얻을 것입니다.

+0

하지만 OutOfMemoryError가 발생하지 않습니다 .... – brbrbr

+0

심지어 응용 프로그램을 undeploing, 난 applicationB에서 동일한 오류가있어 ... – brbrbr

+0

그 명확한 문제는 applicationB에만 ApplicationA와 관련이 없습니다. 몇 가지 추측 : 1) JVM 인수를 확인하십시오. 2) applicationB에서 언급 한 기본 클래스가 Jar에서 사용 가능해야합니다. 3) 모든 것을 정리하고 다시 배포하십시오. –

0

두 가지 다른 배포에서 동일한 bean을 조회하려고합니다. 나는 이것을 정말로 보지 못했다. BeanARemote, BeanA jar 등의 BeanA를 가져야합니다. BeanBemem, BeanB jar 등의 BeanB catch 블록에서 모든 것을 래핑하면 BeanB에 대한 메소드를 호출 할 때 throw되는 예외를 볼 수 있습니다. . 당신이 그것을 사용하려고 할 때까지 조회는 항상 예외를 던지지는 않는다.

관련 문제