Sun GlassFish Enterprise Server v3 릴리스 노트

내장 ACC가 현재 스레드 컨텍스트 클래스 로더에 지나치게 엄격함(문제 11427)

설명

ACC는 현재 스레드의 컨텍스트 클래스 로더가 ACCClassLoader가 될 것으로 기대합니다. 이는 지나치게 제한적인 것입니다. appclient 스크립트에 대해 이 조건이 부합하고 Java Web Start가 실행되는 경우에라도 내장된 케이스에는 부합하지 않을 수 있습니다. ACC 내 다른 함수에서는 클래스 로더가 URLClassLoader(또는 URLClassLoader의 하위 클래스 인스턴스)가 되어야 하지만 로더가 ACCClassLoader일 필요는 없습니다.

자세한 내용은 문제 보고서를 참조하십시오.

해결 방법

두 가지 해결 방법을 사용할 수 있습니다.

  1. -Djava.system.class.loader=org.glassfish.appclient.client.acc.ACCClassLoader 를 설정하십시오. 또는

  2. Java 프로그램에서, 내장된 ACC 클래스 및 인터페이스를 사용에 앞서 Thread.currentThread().setContextClassLoader 를 사용하여 ACCClassLoader를 인스턴스화하고 이를 현재 스레드의 컨텍스트 클래스 로더가 되게 설정하십시오.