2010-05-12 5 views
3

내 프로젝트에는 ear 파일로 여러 개의 배포 된 아티팩트가 있습니다. 나의 이해는 각각의 귀가 자신의 클래스 로더를 갖게된다는 것이다. weblogic이 각 배포 용 파일에 대해 동일한 클래스 로더를 사용하도록 지시 할 수 있습니까?weblogic에서 응용 프로그램 클래스 로더 공유

변경시 고려해야 할 요소는 무엇입니까?

답변

3

각 응용 프로그램 (EAR)에 자체 클래스 로더가있는 이유는 응용 프로그램 격리 및 독립성 때문입니다. 모든 EAR에 대해 공통 모듈을 사용할 수있게하려고한다고 가정합니다.

각 응용 프로그램이이 작업을 수행하는 3 가지 방법이 있습니다 일반적인 클래스 로더 (공통 공유 라이브러리)를 가지고하는 경우 :

  1. 여기에 언급 한 바와 같이 시스템 클래스 로더 (좋은 생각)에 대한 공통의 JAR 파일 추가하기. http://download.oracle.com/docs/cd/E11035_01/wls100/programming/classloading.html#wp1096756

  2. 일반적인 JAR/EAR을 생성하고 여기에 설명 된대로 공유 라이브러리로 배포하십시오. http://download.oracle.com/docs/cd/E11035_01/wls100/programming/libraries.html#wp1071514

  3. 여러 응용 프로그램 공통점이 물건을 가지고 있고, 독립적 인 모듈 수 i는 개인의 귀를 말할 것 어떻게 하나의 EAR

+0

내가 옵션 2를 사용한 경우로 번들 의미하지 않는 경우 그 sharedlibrary의 클래스 로더를 사용하기 위해 공유 라이브러리를 참조 하시겠습니까? –

+0

필자의 대답은 모든 클래스가 공통 라이브러리에 액세스 할 수 있도록 공통 클래스 로더가 필요하다고 가정해야합니다. 이 경우 옵션 2는 모든 참조 EAR의 클래스 경로에서 공통 공유 라이브러리를 사용할 수 있음을 의미합니다. 공통 클래스 로더에 대한 쿼리에 다른 필요성/정의가 있습니까? – JoseK