Sun GlassFish Enterprise Server v3 릴리스 노트

알려진 문제점

이 절에서는 Sun GlassFish Enterprise Server v3의 알려진 문제와 제공된 해결 방법에 대해 설명합니다.

[JDK_Issue] setSoLinger 또는 setReuseAddress 호출로 인한 성능 저하(문제 7109)

설명

setSoLinger 메소드 또는 setReuseAddess 메소드가 호출되는 경우 성능이 저하되고 다음과 같은 예외가 발생합니다.


[#|2009-01-26T00:33:56.325-0800|WARNING|sun-appserver9.1|
javax.enterprise.system.container.web|_ThreadID=17;
_ThreadName=SelectorReaderThread-8084;
_RequestID=11ae0030-c392-4217-8408-cfa7efe0a879;|setSoLinger
exception
java.net.SocketException: Invalid argument

이 문제는 JDK 소프트웨어의 문제로 인해 발생합니다. JDK 버전 7에서는 해결되었습니다.

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

해결 방법

없음

[JDK_Issue] 서버 재시작 시 널 포인터 예외(문제 8299)

설명

Enterprise Server를 재시작하면 널 포인터 예외가 발생하는 경우가 있습니다.


SEVERE: doSelect exception
java.lang.NullPointerException

이 문제는 JDK 소프트웨어의 문제로 인해 발생합니다. JDK 버전 7에서는 해결되었습니다.

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

해결 방법

없음

[JDK_Issue] IO 예외: 수명 테스트 중 잘못된 인수(문제: 7529)

설명

HTTP 수명 테스트 중 실행 42시간 시점에 다음과 같은 예외가 발생합니다.


[#|2009-04-05T17:41:26.537-0700|SEVERE|glassfish|javax.enterprise.system.core|
_ThreadID=15;_ThreadName=Thread-1;|doSelect
exception
java.io.IOException: Invalid argument

실행 중에 인스턴스와 응용 프로그램에는 계속 액세스할 수 있습니다.

이 문제는 JDK 소프트웨어의 문제로 인해 발생합니다. JDK 버전 7에서는 해결되었습니다.

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

해결 방법

없음

[JDK_Issue] 시작 시 EPoll 널 포인터 예외(문제 9472)

설명

시작 시 Enterprise Server에서 널 포인터 예외가 발생합니다.


java.lang.NullPointerException
        at sun.nio.ch.Util.atBugLevel(Util.java:326)
        at sun.nio.ch.SelectorImpl.<init>(SelectorImpl.java:40)
        at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:47)

이는 Grizzly와 관련되며 JDK 6 문제입니다. 이 문제는 JDK 7에서는 해결되었습니다.

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

해결 방법

없음 Grizzly에서 이 문제를 해결하고자 노력하고 있으나 여전히 문제가 발생할 수 있습니다.

[JDK_ISSUE] Richaccess: java.io.IOException: doSelect의 잘못된 인수(문제 8573)

설명

다음 예외가 표시됩니다.


[#|2009-06-20T06:05:57.942-0700|SEVERE|glassfish|
com.sun.grizzly.config.GrizzlyServiceListener|
_ThreadID=21;_ThreadName=Thread-2;|doSelect
IOException
java.io.IOException: Invalid argument

이는 JDK 문제로 JDK 1.6.0_18에서 수정될 예정입니다.

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

해결 방법

최대 파일 설명자 수를 10000 이상으로 높이십시오(Solaris의 기본값은 64000임). JDK 1.6.0_18이 사용 가능하게 되면 설치하십시오.

도메인 /applications 디렉토리의 파일 권한 때문에 NullProcessException이 발생할 수 있음(문제 6545)

설명

도메인의 /applications 디렉토리가 액세스를 제한할 경우 또는 제한된 디렉토리로부터의 디렉토리 배포를 사용하는 경우 서버는 확장된 디렉토리에서 파일을 읽을 수 없습니다. 배포 중에 NullProcessException 오류가 발생합니다.

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

해결 방법

해당 디렉토리에 대한 파일 액세스 설정을 변경하여 디렉토리 내용을 읽을 수 있는 서버 권한을 부여합니다.

Windows 설치 로그 파일을 읽을 수 없음(문제 4881)

설명

time-stamp-install.log 파일을 읽을 수 없습니다. 이 파일에 기록된 모든 행이 하나의 긴 문자열로 결합되어 있습니다.

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

해결 방법

%TEMP% 디렉토리에 만들어진 설치 로그 파일을 다른 편집기에서 수동으로 엽니다.

새 가상 서버에 대한 통계에 액세스하려면 서버를 다시 시작해야 함(문제 6238 및 6422)

설명

새로 추가된 가상 서버에 대한 통계 모니터링은 서버를 다시 시작한 후에만 가능합니다.

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

해결 방법

가상 서버를 추가한 후 서버를 다시 시작해야 가상 서버에 대한 모니터링 데이터를 볼 수 있습니다.

[Open Installer] 로그 파일을 재배치하기 위한 -l 옵션이 Windows에서 무시됨(문제 10693)

설명

-a-s 옵션과 함께 사용하는 경우 로그 파일을 재배치하기 위한 -l 옵션이 무시되며 기본 위치에 로그 파일이 생성됩니다.

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

해결 방법

없음

Windows Vista에서 UAC를 사용하는 경우 ZIP 배포에 문제 발생(문제 10755)

설명

UAC(사용자 계정 제어)를 사용하는 Windows Vista에서는 일부 기능이 제대로 작동하지 않습니다. 하나의 예로 관리 콘솔을 실행할 수 없습니다.

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

해결 방법

UAC를 비활성화하고 재부팅합니다.

com.sun.xml.wss.NonceManager.getInstance에서 널 포인터 예외 발생(문제 11138)

설명

GlassFish 메시지 보안 공급자를 사용하는 상태에서 JAX-RPC 웹 서비스를 테스트하면 서버 로그에 다음과 같은 예외가 발생합니다.


[#|2009-11-23T11:16:58.375+0005|SEVERE|glassfishv3.0|
javax.enterprise.resource.webservices.rpc.server.http|_ThreadID=25;_
ThreadName=http-thread-pool-8080-(2);|caught
throwable
java.lang.RuntimeException: com.sun.enterprise.security.jauth.AuthException

nonce 속성의 기본값이 작동하지 않습니다.

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

해결 방법

JAX-RPC 웹 서비스에서 메시지 보안을 사용하려면 구성에서 nonce 속성을 비활성화합니다. 해결 방법에 대한 전체 단계는 문제 보고서를 참조하십시오.

[Open Installer]Windows Vista 및 Windows 2008에서 시작 메뉴가 표시되지 않고 비어 있음(문제 5087)

설명

설치를 처음 완료한 후 Enterprise Server의 시작 메뉴 그룹이 표시되지 않습니다. 로그아웃한 후 다시 로그인하면 메뉴 그룹이 표시되지만 비어 있습니다.

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

해결 방법

없음

specj 응용 프로그램 배포 시 asadmin get --monitor=true "server.*"에서 I/O 오류 발생(문제 11163)

설명

asadmin get -m "server.*" 명령은 해당 서버와 관련된 모든 모니터링 데이터를 반환합니다. 여러 응용 프로그램이 배포된 경우 데이터 양이 상당히 커서 반환하는 데 시간이 오래 걸릴 수 있습니다. 클라이언트에서 다음과 같은 클라이언트측 오류와 함께 시간 제한을 적용할 수 있습니다.


./asadmin get --monitor=true "server.*"
I/O Error: Read timed out
Command get failed.

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

해결 방법

클라이언트에 반환되는 데이터 양을 최소화합니다.

  1. 최상위 수준 요소를 반환하는 asadmin list -m "server.*" 명령을 실행합니다.

  2. 세부 정보가 필요한 최상위 수준 요소를 선택하고 해당 요소를 필터로 사용합니다. 예를 들면 다음과 같습니다.


    > ./asadmin list -m "server.*"
    ...
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-cache
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.
    create-int-int-[Lorg\.spec\.jappserver\.supplier\.helper\.ComponentOrder
    
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.
    findByPrimaryKey-java\.lang\.Integer
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.generateXml
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.getEJBLocalHome
    ...
    
    >./asadmin get -m
    "server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.*"
    ...
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.remove.
    methodstatistic-name
    = MethodStatistic
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.remove.
    methodstatistic-starttime
    = 1259604209775
    ...

Solaris에서 세그멘테이션 결함으로 독립형 Update Tool이 실패함(문제 11222)

설명

updatetool 명령으로 시작된 독립형 Update Tool은 애드온 구성 요소 설치 시 Solaris의 세그멘테이션 결함으로 실패합니다.

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

해결 방법

시스템이 Update Center Release Notes에 정의된 대로 독립형 Update Tool 패치 요구 사항을 준수하는지 확인합니다.

관리 콘솔에서의 Update Tool 기능은 다양한 Java 기반 Update Center API를 사용하며 이 문제의 영향을 받지 않습니다.

컨텍스트 루트에 배포된 Ruby 응용 프로그램이 관리 콘솔에서 작동하지 않음(문제 10854)

설명

Ruby 응용 프로그램이 컨텍스트 루트 '/'에 배포된 다음 관리 콘솔을 액세스하는 경우 Ruby 응용 프로그램을 액세스하면 404 오류가 발생합니다.

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

해결 방법

없음

Java Web Start를 사용하여 실행한 응용 프로그램 클라이언트에서 Java EE 6 Managed Bean 지원을 사용할 수 없음(문제 11257)

설명

Java Web Start를 사용하여 응용 프로그램 클라이언트를 실행하는 경우 응용 프로그램 클라이언트의 모든 관리되는 Bean이 인식되지 않습니다.

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

해결 방법

appclient 스크립트를 사용하여 응용 프로그램 클라이언트를 실행합니다. 응용 프로그램 클라이언트의 관리되는 Bean은 정상적으로 지원됩니다.

Apple Java 구현이 있는 Mac OS X에서 appclient 스크립트 호출 시 경고 메시지가 표시됨(문제 8644)

설명

Apple의 Java가 설치된 Mac OS X에서 appclient 스크립트를 호출하면 다음 스택 추적이 두 번 표시됩니다(여기에는 처음 몇 줄만 표시함).


Intentionally suppressing recursive invocation exception!
java.lang.IllegalStateException: recursive invocation
    at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1394)
    at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1377)
    at sun.security.jca.ProviderConfig$1.run(ProviderConfig.java:64)
...

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

해결 방법

아무 작업도 필요하지 않습니다.

경고 메시지가 표시되지만 클라이언트가 성공적으로 실행되고 정상적으로 실행됩니다. 이러한 오류는 Apple Java 구현의 문제로 인한 것입니다.

응용 프로그램 클라이언트를 실행하면 클라이언트의 주 클래스에 대해 ClassNotFound 오류가 발생할 수 있음(문제 11181)

설명

다음 사항이 모두 참일 경우 문제가 발생합니다.

서버에서 생성된 하나의 파일이 잘못된 서버 디렉토리에 배치되고 생성된 다른 파일을 덮어쓰기 때문에 다음과 같은 오류로 응용 프로그램 클라이언트 실행 시도가 실패합니다.


java.lang.ClassNotFoundException:(main-class-for-the-client)

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

해결 방법

응용 프로그램 클라이언트의 이름을 myAppClient.jar이 아닌 다른 이름으로 변경합니다. 특히

  1. 클라이언트 선언이 <java>myClient.jar</java>이 되도록 myApp/META-INF/application.xml을 편집합니다. myAppClient.jar이 아닌 다른 이름을 사용할 수도 있습니다.

  2. myApp/myAppClient_jar 디렉토리의 이름을 myApp/myClient_jar로 변경합니다. 클라이언트의 하위 디렉토리 이름은 application.xml 파일에 있는.jar_jar로 교체된 응용 프로그램 클라이언트 URI와 동일해야 합니다.

  3. 응용 프로그램을 배포합니다.


    asadmin deploy --retrieve localdir myApp
    
  4. 응용 프로그램 클라이언트를 실행합니다.


    appclient -client localdir/myAppClient.jar
    

로그 파일 위치를 변경하려면 서버를 재시작해야 적용됨(문제 11142)

설명

관리 콘솔의 Logger Settings 페이지에서 General 탭의 서버 로그 값에 대한 변경 사항이 즉시 적용되지 않습니다.

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

해결 방법

서버를 다시 시작합니다. 이 페이지의 값에 대한 모든 변경 사항을 적용하려면 서버를 재시작해야 합니다.

Linux 및 Mac OS의 Summary 화면에서 링크를 사용하여 설치 로그 파일을 열 수 없음(문제 6621)

설명

그래픽 설치 프로그램에서 설치 프로세스의 마지막에 표시되는 Summary 페이지의 링크를 클릭하면 설치 로그 파일을 열 수 없습니다.

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

해결 방법

파일을 수동으로 액세스합니다. 설치 로그 및 요약 파일의 이름은 timestamp-install.log timestamp-install-summary.html입니다. Linux와 Mac 시스템에서는 이러한 파일이 $TMP 디렉토리 아래에 생성됩니다.

Windows에서 동일한 설치 디렉토리에 재설치하는 경우 updatetool 명령이 작동하지 않음(문제 8233)

설명

기본값이 동일한 같은 설치 디렉토리에 Enterprise Server(Update Tool 포함)를 다시 설치하고 updatetoo 명령을 사용하여 Update Tool을 호출하는 경우 Update Tool이 설치되지 않았음을 나타내고 설치할 것인지 묻는 메시지가 표시됩니다. 이 문제는 Windows 시스템에서만 발생합니다.

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

해결 방법

제거한 후 다시 설치하기 전에 남아 있는 .org* 디렉토리를 수동으로 제거합니다.

[Update Center] 비사용자 디렉토리 액세스 실패(Update Center 문제 1583)

설명

이 문제는 Windows 및 Mac OS 시스템에서 간헐적으로 발생합니다. pkg(5)가 특정 시점에 특정 시스템에서 작동하지 않습니다.

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

해결 방법

없음

인라인 도움말 및 CLI man 페이지에서 X-Powered-By에 잘못된 서블릿 버전 2.4 나열(문제 11011)

설명

인라인 도움말 및 CLI man 페이지는 X-Powered-By 필드에 서블릿 2.4를 나열합니다. 정확한 버전은 서블릿 3.0입니다.

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

해결 방법

없음

[Embedded] uber-ja를 사용하는 경우 activation-1.1.jar을 포함하는 응용 프로그램 배포가 실패함(문제 11149)

설명

glassfish-embedded-all-3.0-b73.jar에 포함된 항목을 사용하는 경우 다음과 같은 오류로 배포가 실패합니다.


SEVERE: WEB9051: Error trying to scan the classes at
/private/var/folders/CV/CVhj8DvqEwGK5bdJKK9TaE   TI/-Tmp-
/gfembed6991712842235699248tmp/applications/xwiki-enterprise-web-2.0/
WEB-INF/lib/activation-1.1.jar for annotations in which a 
ServletContainerInitializer has expressed interest
java.util.zip.ZipException: error in opening zip file

이 문제는 포함된 항목이 더하기 기호(+)가 있는 폴더를 사용하고 경로를 디코딩할 때 경로 내 더하기 기호가 공백 문자 " "로 변환되기 때문입니다.

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

해결 방법

임시 디렉토리를 배치할 수 있도록 시스템 속성이 추가되었습니다. 이 속성은 glassfish.embedded.tmpdir이며 임시 도메인 디렉토리가 사용자 디렉토리에 배치되지 않게 설정할 수 있습니다.

create-service가 Solaris의 passwordfile에서 AS_ADMIN_USER 없이 서비스를 생성하지 못함(문제 11119)

설명

create-service가 Solaris의 passwordfile에서 AS_ADMIN_USER 없이 서비스를 생성하지 못합니다.

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

해결 방법

없음

[Monitoring] connector-connection-pools에 대한 추가 모니터링 보기를 사용할 수 없음(문제 11256)

설명

Enterprise Server는 트리 구조를 사용하여 모니터링 가능한 개체를 추적합니다. 이 트리 내에서 다음 보기를 사용하여 연결 풀 통계를 가져올 수 없습니다.

server.connector-service.resource-adapter-name .connection-pool-name .* 또는 server.jms-service.connection-factories. connection-factory-name.*( jms-ra 관련 풀용).

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

해결 방법

server.resources.* 보기를 사용하여 통계를 가져옵니다.

모니터링에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Administration Guide의 8 장, Administering the Monitoring Service를 참조하십시오.

[EclipseLink]포함 가능 항목의 ElementCollections에서의 문제(EclipseLink 문제)

설명

구성을 사용하는 경우 포함 가능 항목의 요소 집합에 대한 업데이트가 널 포인터 예외를 발생시킬 가능성이 있습니다.

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

해결 방법

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

  1. 포함 가능 항목에서 @ChangeTracking(DEFFERED) 주석을 추가하고 eclipselink.weaving.internal 속성을 false로 설정하거나

  2. 지속성이 있는 XML에서 다음 속성을 false로 설정합니다: eclipselink.weaving.changetracking eclipselink.weaving.internal.

가상 서버가 두 번 시작됨(문제 11195)

설명

도메인을 시작하고 localhost:4848에 액세스한 후 다음 메시지가 서버 로그에 표시됩니다.


[#|2009-11-27T16:21:57.091+1100|INFO|glassfishv3.0|
javax.enterprise.system.container.web.com.sun.enterprise.web|
_ThreadID=20;_ThreadName=Thread-1;|Created
virtual server server|#]

[#|2009-11-27T16:21:57.091+1100|INFO|glassfishv3.0|
javax.enterprise.system.container.web.com.sun.enterprise.web|
_ThreadID=20;_ThreadName=Thread-20;|Created
virtual server server|#]

이러한 메시지는 가상 서버 server가 두 번 표시된 것과 비슷해 보이지만 그렇지 않습니다. 가상 서버는 한 번만 시작되었으나 메시지가 여러 번 기록된 것입니다.

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

해결 방법

없음

JPA 디버깅 문제(문제 11274)

설명

서버의 제한된 메시지 때문에 JPA 디버깅이 어렵습니다.

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

해결 방법

org.eclipse.persistence.session.level=INFO 속성을 logging.properties 파일에 추가합니다. 그런 다음 관리 콘솔을 사용하여 EclipseLink 로거를 제어할 수 있습니다.

대상 EJB가 동일한 호스트에 있는 경우 원격 EJB에 대한 EJB 상호 운용성에 문제가 있음(문제 11152)

설명

대상 EJB가 동일한 호스트에 있는 경우 원격 EJB에 대한 EJB 상호 운용성에 문제가 발생합니다(다른 Enterprise Server 도메인 또는 다른 Enterprise Server v3 인스턴스).

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

해결 방법

jvm-options에서 다음 속성을 설정합니다.

-Dorg.glassfish.orb.iiop.orbserverid=:

Windows Vista 및 Windows 7에서 간헐적으로 설치 프로그램이 41%에서 멈춤(문제 11185)

설명

Windows Vista 및 Windows 7에서 설치 중에 Enterprise Server 그래픽 설치 프로그램이 41%에서 멈춥니다. 모든 설치 시도에서 이러한 문제가 발생하는 것은 아닙니다.

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

해결 방법

이 문제는 기본적으로 사용되는 Windows Vista 및 Windows 7의 자동 조정 기능과 관련되어 있습니다.

Enterprise Server를 처음 설치하는 경우 또는 패키지를 추가하거나 업데이트를 적용하는 경우 멈춤이 발생하면 자동 조정 기능을 제한하거나 비활성화합니다.

시스템 간에 JMS 메시지를 전송할 수 없음(문제 11254)

설명

기본적으로 Enterprise Server에서 JMS 서비스의 기본 호스트 이름은 localhost입니다. 그러나 다른 시스템에서 JMS 서비스에 액세스하려면 호스트 이름을 변경해야 합니다. 이 이름은 실제 호스트 이름이나 0.0.0.0으로 변경할 수 있습니다.

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

해결 방법

변경하려면 다음 중 하나를 수행하십시오.

  1. 관리 콘솔을 사용합니다. Configuration, Java Message Service 및 JMS Hosts 노드를 확장하고 default_JMS_host를 선택하고 Host 필드를 편집합니다. 또는

  2. 다음과 같이 asadmin 하위 명령을 사용합니다.

    asadmin set server-config.jms-service.jms-host.default_JMS_host.host="0.0.0.0" 또는

    asadmin set server-config.jms-service.jms-host.default_JMS_host.host="hostname"

Windows 시스템 메뉴가 비어 있음(문제 11239)

설명

그래픽 설치 프로그램을 사용하여 Enterprise Server를 설치하는 경우 설치가 성공적으로 완료되지만 최상위 수준 GlassFish v3 항목만 Windows 시스템 메뉴에 추가되고 메뉴는 비어 있습니다. 이 문제는 영어 및 지역화된 설치 프로그램 모두에서 발생합니다.

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

해결 방법

없음

deploy 명령 설명서 페이지의 --dbvendorname에서 지원되는 데이터베이스 목록에 mysql이 표시되지 않음(문제 11328)

설명

deploy 명령 설명서 페이지의 --dbvendorname에서 지원되는 데이터베이스 목록에 mysql이 표시되지 않음(문제 11328) 이것은 잘못된 것입니다. MySQL은 지원되는 데이터베이스이므로 목록에 나타나야 합니다.

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

해결 방법

없음

내장 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를 인스턴스화하고 이를 현재 스레드의 컨텍스트 클래스 로더가 되게 설정하십시오.

MySQL에서의 EJB 타이머 서비스 구성 문제(문제 11428)

설명

MySQL에서 사용자로서 EJB 타이머를 만들고 저장할 수 있지만, MySQL용으로 EJB 타이머 서비스를 구성하려고 하면 다음과 같은 예외가 나타납니다(SQLException 실행 명령문):


"CREATE TABLE EJB__TIMER__TBL (TIMERID
VARCHAR(255) NOT NULL, BLOB BLOB(64000), INITIALEXPIRATIONRAW BIGINT, SCHEDULE
VARCHAR(255), INTERVALDURATION BIGINT, OWNERID VARCHAR(255), STATE INTEGER,
LASTEXPIRATIONRAW BIGINT, PKHASHCODE INTEGER, CREATIONTIMERAW BIGINT,
CONTAINERID BIGINT, PRIMARY KEY (TIMERID))":
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in
your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near 'BLOB BLOB(64000), INITIALEXPIRATIONRAW BIGINT,
SCHEDULE VARCHAR(255), INTERVALDU' at line 1|#] 

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

해결 방법

타이머 풀에 지정된 datasource-classname이 XA 데이터 소스를 나타내도록 해야 합니다.

MySQL별 단계:

  1. glassfishv3/glassfish/lib/install/applications/ejb-timer-service-app.war 패키지를 풉니다.

  2. 다음 항목을 WEB-INF/classes/__ejb_timer_mappings.xml <persistence-unit-metadata> 뒤에 추가합니다.

    <persistence-unit-defaults>
    <delimited-identifiers/>
    </persistence-unit-defaults>
  3. WEB-INF/classes/__ejb_timer_mappings.xml 파일을 다시 묶습니다.

  4. (이 단계는 현재 설치 프로그램에서 이미 EJB 타이머 서비스를 사용한 경우에만 필요합니다.) 다음 create 구문을 통해 데이터베이스에 EJB__TIMER__TBL을 직접 생성합니다.

    CREATE TABLE `EJB__TIMER__TBL` (`TIMERID` VARCHAR(255) NOT NULL,
    `BLOB` BLOB(64000), `INITIALEXPIRATIONRAW` BIGINT, `SCHEDULE` VARCHAR(255),
    `INTERVALDURATION` BIGINT, `OWNERID` VARCHAR(255), `STATE` INTEGER,
    `LASTEXPIRATIONRAW` BIGINT, `PKHASHCODE` INTEGER, `CREATIONTIMERAW` BIGINT,
    `CONTAINERID` BIGINT, PRIMARY KEY (`TIMERID`))

보안 서버에 대해 deploy 하위 명령 실패(문제 11439)

설명

--secure 옵션을 사용하지 않으면 보안 서버에 대해 deploy 하위 명령이 실패합니다.

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

해결 방법

보안 서버에 대해 deploy 하위 명령을 실행할 때는 --secure 옵션을 사용하십시오.

Enterprise Server 트러스트 저장소의 인증서 만료(문제 6852796)

설명

Enterprise Server 트러스트 저장소에 있는 기관 인증서 중 하나가 2010년 1월 7일 만료됩니다. 이 인증서는 cacerts.jks입니다. 시작 시 인증서가 만료되었음을 나타내는 오류 메시지가 생성됩니다.


Version: V1
  Subject: OU=Secure Server Certification Authority, O="RSA Data Security, Inc.", C=US
  Signature Algorithm: MD2withRSA, OID = 1.2.840.113549.1.1.2

  Key:  SunPKCS11-Solaris RSA public key, 1000 bits (id 17891456, session object)
  modulus: 
  public exponent: 
  Validity: [From: Tue Nov 08 19:00:00 GMT-05:00 1994,
               To: Thu Jan 07 18:59:59 GMT-05:00 2010]
  Issuer: OU=Secure Server Certification Authority, O="RSA Data Security, Inc.", C=US
  SerialNumber: [    02ad667e 4e45fe5e 576f3c98 195eddc0]

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

해결 방법

만료된 기관 인증서는 Java SE 6의 업데이트 18에서 제거되었습니다. 또한 향후 업데이트에서는 Enterprise Server 트러스트 저장소에서도 제거될 것입니다.

오류 메시지를 무시하고 업데이트를 사용하거나 오류 메시지를 제거할 수 있습니다. 오류 메시지를 더 이상 받지 않으려면 키 도구를 사용하여 Enterprise Server 트러스트 저장소에서 인증서를 제거하십시오.


=> cd domains/domainX/config
=> cp cacerts.jks cacerts.jks.save
=> keytool -delete -keystore cacerts.jks -alias verisignserverca
Enter keystore password:

만료된 인증서가 향후 생성되는 도메인에 다시 나타나지 않도록 하려면 템플릿 트러스트 저장소에서도 인증서를 제거해야 합니다.


=> cd glassfish/lib/templates
=> cp cacerts.jks cacerts.jks.save
=> keytool -delete -keystore cacerts.jks -alias verisignserverca
Enter keystore password:

키 저장소 암호에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Administration GuideAuthentication에서 마스터 암호 및 키 저장소 관련 정보를 참조하십시오.