2017-10-31 1 views
0

나는 (아주) 오래된 애플리케이션을 여러 Message Driven Bean으로 작성했습니다. 걱정하지 마세요.Weblogic에서 JBoss로 EJB 2.1을 마이그레이션

응용 프로그램은 내부에 여러 개의 JAR이있는 EAR로 패키지되어 있습니다.

- app 
    -- appDataModel 
    -- appJaxbModel 
    -- appEjb 
    -- appEar 

내 문제는 EAR은 웹 로직 10.3.x에서 함께 잘 작동한다는 사실로 인해 발생하지만합니다 (EAR 내부 appEjb.jar로 내장), appEjb 모듈 클래스가 클래스를 볼 수 없습니다 : 여기에 간단한 레이아웃입니다 JBoss 6.4 EAP에 배포 할 때 appDataModel (EAR 내부의 appDataModel.jar로 빌드 됨)에 있습니다. 또한 Red Hat의 마이그레이션 도구를 실행했지만 아무 것도 제안되지 않았습니다 (어쨌든 이와 관련 있음)

jboss-deploymentement-structure.xml의 격리를 false로 설정하려고했습니다. 행운이 없습니다. 이것은 단순한 것일 수도 있고 클래스 로딩의 차이와 관련된 것일 수도 있습니다. 나는 정말로 모른다.

도움을 줄 수있는 사람이 있습니까?

답변

1

appDataModelappJaxbModel이 ejb-jars가 아닌 경우 EAR 내의 lib 디렉토리로 이동하십시오. 그러면 모든 사람들이 볼 수있게됩니다.

당신은 같은 구조로 마무리한다 :

- app 
    -- lib 
     -- appDataModel 
     -- appJaxbModel 
    -- appEjb 
    -- appWar 

이 완전히 휴대용이며, 또한

10.3.x에서 (내가 마지막 모듈이 의도 된 있으리라 믿고있어 웹 로직에서 작동합니다 EAR 내에서 EAR을 패키지화 할 수 없기 때문에 WAR).

+0

정답입니다. Weblogic은 항아리가 APP-INF/lib에있는 것이 좋았지 만 JBoss는 lib 디렉토리에있을 것으로 예상했습니다. 오라클이 J2EE 표준을 만든 방법을 좋아해서 그것을 깨 버렸습니다. 답변 해 주셔서 감사합니다. – Jason

+1

공정한'APP-INF/lib'는'EAR/lib' 메커니즘의 표준화를 선행하는 오래된 BEA (오라클 인수) 아이디어였습니다. –

관련 문제