본문 바로가기
MiddleWare(미들웨어)/JEUS

[JEUS7,8] Boot Class Loader 사용하기

by wonkidoki 2023. 10. 23.
반응형

- APPLICATION 을 개발하다보면 Class 가 충돌하는 경우가 있거나 못불러오는 경우가 있다.

- JEUS에 있는 Class와 충돌 나는 경우가 있기 때문에 이 경우 JEUS에서 우선적으로 원하는 클래스를 우선적으로 불러오도록 할 수 있다.

- JEUS 는 기본적으로 APP에 있는 라이브러리를 읽도록 돼있지만, 중복되는 클래스를 염두해두자.

- 이 설정 후 재 기동 필요

 

1. JEUS 설정을 통해 Class Loading 하기

- JEUS Webadmin > Servers > MS 선택 > Basic 텝에서 하단에 User Interceptor 를 보면 네가지 클래스 로딩 방식이 있다.

Jeus Classloader Append Class Path

JEUS의 최상위 ClassLoader에 새로운 classpath를 추가한다. (여러개 인 경우 : 로 구분한다.)

 ex)/jeus/mylib/classes:/jeus/mylib/lib/mylib.jar

Jeus Classloader Append Dirs

JEUS의 최상위 ClassLoader에 설정한 디렉터리에 속한 모든 새로운 classpath를 추가한다. (여러개 인 경우 : 로 구분한다.)

 ex)/jeus/mylib/classes:/jeus/mylib/lib/mylib.jar

Profile Class Option Name

Profile의 Main Class Name과 Profile Main Class에 필요한 Argument를 함께 입력한다. 즉, 서버 외에 이 태그에 지정된 다른 클래스가 실제 메인 클래스로 사용될 수 있다. 서버의 메인 클래스는 Profile의 Main Class의 Argument로 들어가게 된다. (여러개 인 경우 : 로 구분한다.)

 ex)/jeus/mylib/classes:/jeus/mylib/lib/mylib.jar

Boot Classloader Append Class Path

JEUS의 최상위 ClassLoader가 아닌 서버 JVM을 띄울 경우에 SystemClassLoader에 설정되는 bootstrap.jar 뒤에 추가하고 싶은 classpath를 지정한다. SystemClassLoader는 JEUS의 최상위 ClassLoader의 Parent이다.  (여러개 인 경우 : 로 구분한다.)

 ex)/jeus/mylib/classes:/jeus/mylib/lib/mylib.jar

 

 

2. JEUS System 경로에 라이브러리를 넣고 불러오기

- JEUS_HOME/lib/system 경로에 가면 JEUS에서 불러오는 라이브러리들이 있는데 이 경로에 불러올 라이브러리나 so 파일 혹은 dll 파일을 넣으면 우선적으로 읽을 수 있다.

- JEUS 전체 재 기동 필요하다.