Sun Java System Application Server Enterprise Edition 8.2 Microsoft Windows용 릴리스 노트

3장 알려진 문제점 및 제한 사항

이 장에서는 Sun Java System Application Server Enterprise Edition 8.2 소프트웨어의 알려진 문제점과 이를 해결하는 방법에 대해 설명합니다. 문제를 설명하는 부분에서 특정 플랫폼을 언급하지 않는 경우에는 해당 문제가 모든 플랫폼에 적용됩니다. 이 정보는 다음 내용으로 구성되어 있습니다.

관리

이 절에서는 관리와 관련된 알려진 문제점과 해결 방법을 설명합니다.

설치하는 동안 자동 구성 옵션에서 Application Server에 로드 밸런서 기능이 지원되지 않음(6463858)

Application Server의 설치하는 동안 자동 구성 옵션에서 로드 밸런서 기능이 지원되지 않습니다.

해결 방법: Application Server를 설치한 후에 로드 밸런서 기능을 구성할 수 있습니다.


주 –

로드 밸런서 기능을 구성하려면 시스템에 Application Server와 Web Server가 설치되어 있어야 합니다.


    로드 밸런서 기능을 구성하려면 다음 단계를 수행합니다.

  1. 레지스트리 HKEY_LOCAL_MACHINE -> Sun Microsystem -> EntSys -> Installer -> Application Server에서 IS_LB 값을 true로 설정하고Cfgr_LB 값을 false로 설정합니다.

  2. setup 디렉토리로 변경합니다.

    cd JavaES-Install-Dir\setup\


    
    
  3. ASConfigure.bat 일괄 처리 파일을 실행합니다.

  4. 지침에 따라 적절한 값을 제공합니다.


    주 –

    AS_LB 플러그인에는 Java ES 5에서 지원되는 유일한 플러그인인 Sun Java System Web Server [Mandatory]를 입력합니다.


  5. 시스템을 다시 부팅합니다.

domain1이 없는 경우 package-appclient 스크립트가 작동하지 않음(ID 6171458)

기본적으로 JavaES-Install-Dir \lib\lib\package-appclient.xml에 있는 domain1AS_ACC_CONFIG 변수는 asenv.conf로 하드 코드됩니다. domain1이 삭제되고 새 도메인이 만들어지는 경우 AS_ACC_CONFIG 변수가 새 도메인 이름으로 업데이트되지 않아 package-appclient 스크립트의 실패 요인이 됩니다.

해결 방법

다음 중 한 가지를 수행합니다.

로드 균형 조정 플러그인을 설치하면 기존 플러그인을 덮어씀(ID 6172977)

로드 균형 조정 플러그인이 이미 설치되어 있는 Application Server(7.1EE 등) 설치에 로드 균형 조정 플러그인을 설치하면, 플러그인을 실행할 새 서버 인스턴스를 만든 경우라도 8.2EE 플러그인이 기존 로드 밸런서를 자동으로 대체합니다.

플러그인 파일은 기본적으로 install_dir/plugins/lbplugin 디렉토리에 설치됩니다. 즉, Application Server 설치당 한 버전의 플러그인만 사용할 수 있습니다. 콘솔 설치 프로그램에 제거를 수행하는 중이라는 메시지가 표시되지만 이 메시지는 놓치기가 쉽습니다.

해결 방법

누구에게나 이 문제가 발생하지는 않습니다. 이 문제가 발생하면 업그레이드 설치를 수행하는 대신 이전 Application Server 설치를 제거한 후 새로 설치하십시오.

Java ES 2 Application Server 7과 비교할 때 Java ES 3 Application Server 8.2 asadmin 스크립트의 몇 가지 변경 사항(ID 6189433, 6189436)

Application Server 7 및 호환 버전과 비교할 때 Application Server 8.2의 asadmin 명령에서 몇 가지가 변경되었습니다. 예를 들어, Application Server 7 및 호환 버전에서 서버 인스턴스를 시작하는 명령은 다음과 같습니다.


asadmin start-instance

버전 8.2에서 여기에 해당되는 명령은 다음과 같습니다.


asadmin start-domain --user admin domain1

최신 asadmin 명령 구문에 대한 자세한 내용은 다음 문서를 참조하십시오.

Application Server의 기본 포트 변경(ID 6198555)

Java ES 2 Application Server 7 및 호환 버전에서 Java ES 5 Application Server 8.2로 업그레이드할 때 기본 포트가 변경되었기 때문에 생기는 호환성 문제가 오류가 발생할 수 있습니다.

새 이름을 사용해서 백업 도메인을 복원할 수 없음(ID 6196993)

asadmin restore-domain 명령은 도메인 이름 변경 옵션을 제공하지만 원래 이름과 다른 이름을 사용하여 도메인을 복원할 수 없기 때문에 backup-domain 명령과 restore-domain 명령을 사용하여 동일한 Application Server 설치에서 도메인 미러링을 수행할 수 없습니다. 백업한 도메인의 이름을 변경하는 데 성공한 것처럼 보이지만 이름을 변경한 도메인을 시작하려고 시도하면 도메인 구성의 항목이 변경되지 않고 startservstopserv가 원래 도메인 이름을 사용하여 경로를 설정하기 때문에 실패하게 됩니다.

해결 방법

restore-domain 명령에 사용된 도메인 이름이 원래 backup-domain 명령에 사용된 이름과 같아야 합니다. Application Server 8.2의 backup-domainrestore-domain 명령은 같은 시스템의 동일한 도메인을 백업하고 복구하는 경우에만 사용할 수 있습니다.

Application Server를 추가 JMX 에이전트와 함께 시작하는 것은 지원되지 않음(ID 6200011)

J2SE 1.4., 5.0 및 호환 버전을 and compatible versions can be configured on the Application Server에서 구성할 수 있습니다. J2SE 5.0 플랫폼의 중요한 기능은 JMX 에이전트를 시작하는 능력입니다. 이 에이전트는 서버를 시작할 때 시스템 등록 정보를 명시적으로 설정하면 활성화됩니다.

값의 예에는 다음과 같은 것이 있습니다.

name="com.sun.management.jmxremote" value="true"
name="com.sun.management.jmxremote.port" value="9999"
name="com.sun.management.jmxremote.authenticate" value="false"
name="com.sun.management.jmxremote.ssl" value="false"

JMX 등록 정보를 구성하고 서버를 시작한 후 새 jmx-connector 서버가 Application Server VM 내에서 시작됩니다. 이로 인한 원하지 않는 부작용으로 관리 기능이 역으로 영향을 받고 관리 Application Server GUI와 CLI에서 예기치 못한 결과가 발생할 수 있습니다. 문제는 내장된 jmx-connector 서버와 새 jmx-connector 서버 간에 충돌이 발생하는 것입니다.

해결 방법

jconsole 또는 다른 JMX 호환 클라이언트를 사용할 경우 Application Server 시작과 함께 시작되는 표준 JMX Connector Server를 다시 사용하는 것을 고려하십시오.

서버가 시작되면 다음 단락과 비슷한 행이 server.log에 나타납니다. 거기에 지정된 JMXService URL에 연결하여 자격 증명을 성공적으로 제공한 후 동일한 관리 및 구성 작업을 수행할 수 있습니다. 예를 들면 다음과 같습니다.

[#|2004-11-24T17:49:08.203-0800|INFO|sun-appserver-ee8.1|javax.enterprise.
system.tools.admin|_ThreadID=10;|ADM1501: Here is the JMXServiceURL for the 
JMXConnectorServer: [service:jmx:rmi:///jndi/rmi://hostname:8686/management/
rmi-jmx-connector]. This is where the remote administrative clients should 
connect using the JSR 160 JMX Connectors.|#]

자세한 내용은 Sun Java System Application Server 8.2 관리 설명서를 참조하십시오.

웹 서비스의 종점 URL을 사용하여 로드 밸런서 구성 파일을 만들 수 없음(ID 6236544, 6275436)

웹 서비스 URL을 내보내는 EJB 모듈이 있는 응용 프로그램을 사용하여 로드 밸런서 구성을 설정하면 loadbalancer.xml 결과 파일에 웹 서비스의 컨텍스트 루트가 없게 됩니다.

해결 방법

  1. loadbalancer.xml 파일을 편집하여 누락된 웹 모듈을 다음과 같이 추가합니다.


    <web-module context-root="context-root-name"
    disable-timeout-in-minutes="30" enabled="true"/>
  2. context-root-name 값을 EJB로 노출된 웹 서비스의 컨텍스트 루트 이름과 바꿉니다.

구성에 있는 Java 홈 설정이 적용되지 않음(ID 6240672)

Application Server 도메인 및 서버가 연결된 구성의 java-config 요소에 대한 java-home 속성에 지정된 JDK를 사용하지 않습니다.

해결 방법

지정된 서버 설치에서 모든 도메인의 Application Server 프로세스에 사용되는 JDK는 appserver-installation-dir /config/asenv.conf 파일에서 결정됩니다. 이 파일의 AS_JAVA 등록 정보는 사용되는 JDK를 결정하며 설치 시에 설정됩니다. 설치가 완료된 후에 Application Server 프로세스에서 다른 JDK를 사용하려면 이 값을 다른 JDK로 수정할 수 있습니다. 이 설치에 있는 모든 도메인은 이 변경의 영향을 받습니다.


주 –

asenv.conf 파일에서 수동으로 변경한 사항은 유효성을 확인하기 않기 때문에 조심해서 변경해야 합니다. AS_JAVA 값을 수정할 때의 최소 JDK 버전 요구 사항은 제품 설명서를 참조하십시오.


sun-appserv-admin을 사용하여 Application Server를 다시 시작하면 LoginException 오류가 발생함(ID 6288893)

이 문제는 %CONFIG_HOME%의 잘못된 값으로 인해 발생합니다.

해결 방법

  1. 기존 이름인 asantasant.bak로 바꿉니다.

  2. Copy the file in SE 또는 EE 버전의 as_install/lib/install/templates/ee에 있는 asant.template 파일을 as_install/bin/ 디렉토리에 복사하고 asant 파일 이름을 변경합니다.

  3. 새로 복사된 as_install/bin/asant 파일을 편집하여 %CONFIG_HOME% 토큰을 as_install/config 값으로 바꿉니다.

  4. 원본 asant.bak 파일을 수동으로 변경했다면 이러한 변경 사항을 모두 새 asant 파일로 병합합니다.

Application Server 설명서에 .asadmintruststore 파일에 대한 설명 없음(ID 6315957)

이 파일이 서버 관리자의 home 디렉토리에 없으면 서버에 호스트된 일정 응용 프로그램을 업그레이드할 때 심각한 버그가 발생할 수 있습니다.

해결 방법

create-domain 마스터 비밀번호에 특수 문자가 있는 경우 도메인이 시작되지 않음(ID 6345947)

도메인의 마스터 비밀번호에 백분율(%) 문자가 있는 경우 도메인이 시작되지 않습니다.

해결 방법

도메인의 마스터 비밀번호에는 백분율 문자(%)를 사용할 수 없습니다. 이 해결 방법은 새 도메인을 만들거나 기존 도메인의 마스터 비밀번호를 변경하는 경우에 적용됩니다.

magnus.conf obj.conf의 로드 밸런서 구성 변경 사항을 덮어씀(ID 6394181)

보안 http-listener를 만들고 lbplugin을 설치한 후 webserver_instance_dir/config 디렉토리의 magnus.confobj.conf 파일이 수정되고 lbplugin 내용이 제거됩니다.

설치 프로그램이 로드 밸런서 플러그인 설치 과정에서 Application Server의 magnus.confobj.conf 구성 파일을 수정합니다. Application Server 관리 콘솔에 로그인하여 로드 밸런서가 설치된 인스턴스에 대한 인스턴스 구성을 관리하려고 하면 Application Server에서 구성이 수동으로 편집되었다는 경고 메시지가 표시됩니다. 이 경고는 실제로 설치 프로그램에서 수행한 변경을 나타냅니다.

해결 방법

설치 프로그램에서 수행된 변경 내용을 덮어쓰지 않았는지 확인합니다.

응용 프로그램 클라이언트

이 절에서는 응용 프로그램 클라이언트와 관련된 알려진 문제점과 해결 방법을 설명합니다.

Application Client Archive에 패키지로 포함된 라이브러리 JAR이 MANIFEST 파일을 덮어씀(ID 6193556)

클라이언트 JAR 내에 최상위 JAR 파일이 있는 경우(이 경우에는 reporter.jar) 클라이언트 JAR을 배포할 때 해당 JAR의 MANIFEST 파일이 클라이언트 JAR의 MANIFEST 파일을 덮어씁니다.

해결 방법

없습니다.

CGI-bin 및 SHTML 기능과 같은 동적 콘텐츠 기술이 지원되지 않음(ID 6373043)

CGI-bin 및 SHTML과 같은 동적 콘텐츠 기술은 더 이상 지원되지 않습니다.

해결 방법

JSP 및 웹 서비스 기술을 대신 사용하십시오.

번들로 제공되는 Sun JDBC 드라이버

이 절에서는 번들로 제공되는 Sun JDBC 드라이버와 관련된 알려진 문제점과 해결 방법을 설명합니다.

번들로 제공되는 Sun Driver For Microsoft SQL Server의 TRANSACTION_SERIALIZABLE 격리 수준을 사용하는 응용 프로그램이 중단됨(ID 6165970)

두 개의 트랜잭션에 병행하여 실행 중인 동안 그 중 하나를 롤백한 경우 하면 준비된 업데이트 명령문을 사용하면 이 문제가 발생할 수 있습니다.

해결 방법

연결에 격리 수준을 설정하고, 같은 격리 수준에 해당 연결 풀을 만듭니다. 연결 풀 구성에 대한 자세한 내용은 Sun Java System Application Server Enterprise Edition 8.2 관리 설명서를 참조하십시오.

PreparedStatement 오류(ID 6170432)

설명 1

응용 프로그램이 하나의 트랜잭션에서 3000개가 넘는 PreparedStatement 객체를 생성하면 DB2에 다음 오류가 발생할 수 있습니다.

[sunm][DB2 JDBC Driver] No more available statements. Please recreate your package with a larger dynamicSections value.

해결 방법 1

드라이버에서 더 큰 동적 섹션 값으로 DB2 패키지를 다시 바인드하도록 연결 풀 정의에 다음 등록 정보를 추가합니다.

createDefaultPackage=true replacePackage=true dynamicSections=1000

연결 풀 구성에 대한 자세한 내용은 Sun Java System Application Server Enterprise Edition 8.2 관리 설명서를 참조하십시오.

설명 2

위의 PreparedStatement 오류와 관련하여 발생할 수 있는 다른 오류 메시지는 다음과 같습니다.

[sunm][DB2 JDBC Driver][DB2]Virtual storage or database resource is not available.

해결 방법 2

DB2 서버 구성 매개 변수 APPLHEAPSZ를 증가시킵니다. 예를 들면 4096을 사용할 수 있습니다.

설명 3

TRANSACTION_SERIALIZABLE 격리 수준 응용 프로그램에서 TRANSACTION_SERIALIZABLE 격리 수준을 사용하고 위에 제시한 매개 변수 중 하나를 사용하면 연결하는 동안 응용 프로그램이 중단될 수 있습니다.

해결 방법 3

연결에 격리 수준을 설정하려면 상응하는 연결 풀을 같은 격리 수준에 만들어야 합니다. 지침은 Sun Java System Application Server Enterprise Edition 8.2 관리 설명서를 참조하십시오.

커넥터

이 절에서는 J2EE 커넥터 구조와 관련된 알려진 문제점과 해결 방법을 설명합니다.

DAS 인스턴스를 다시 시작한 후 종속을 False로 설정하면 커넥터 모듈 배포 해제가 실패함(ID 6188343)

이 시나리오에서 독립형 또는 내장형 커넥터 모듈은 DAS와 커넥터 연결 풀에 배포되며 배포된 모듈을 위한 자원이 만들어집니다. DAS 인스턴스를 다시 시작한 후 cascade를 false로 설정하면 다음 예외가 발생하고 커넥터 모듈 배포 해제가 실패하게 됩니다:

[#|2004-10-31T19:52:23.049-0800|INFO|sun-appserver-ee8.1|javax.enterprise.system .core|_ThreadID=14;|CORE5023:Error while unloading application [foo]|#]

해결 방법

DAS 인스턴스를 다시 시작합니다. 독립 실행형 또는 내장형 커넥터를 배포 해제할 경우 종속된 배포 해제(종속 옵션을 true로 설정)를 사용합니다.

JMS create-jms-resource: CLI가 기본값을 잘못 설정함(ID 6294018)

명령줄에서 asadmin create-jms-resource 명령을 사용하여 새 JMS 자원을 만들 때 최소 풀 크기와 최대 풀 크기를 지정할 수 없기 때문에 asadmin 명령은 기본 풀 크기 값(최소값 8, 최대값 32)을 사용하여 자원을 만들어야 하지만 대신 명령줄에서 자원을 만들 경우 기본 최소 풀 크기와 최대 풀 크기(1250)가 각각 적용됩니다.

해결 방법

명령줄에서 JMS 자원을 만든 후 관리 콘솔을 사용하여 최소 및 최대 풀 크기 값을 수정합니다.

설명서

이 절에서는 설명서와 관련된 알려진 문제점과 해결 방법을 설명합니다.

Javadoc 비일관성

몇 가지 AMX 인터페이스와 메소드를 위한 Javadoc가 누락되었거나 잘못되어 있습니다.

번들로 제공된 ANT에서 java.lang.NoClassDefFoundError 예외가 발생함(ID 6265624)

다음 예외는 스레드 "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher에서 발생합니다.

해결 방법

Application Server 외부의 항목에 대해 번들로 제공되는 ANT를 사용하는 것은 좋지 않습니다.

로깅 옵션 설명이 잘못되었음(ID 6463965)

Sun Java System Application Server Enterprise Edition 8.2 Performance Tuning Guide에 로그 옵션에 대해 다음과 같이 잘못 설명되어 있습니다.

관리 GUI는 다음과 같은 두 가지 로깅 옵션을 제공합니다.

  • 옵션 1 – 이벤트 로그에 stdout(System.out.print) 내용 기록

  • 옵션 2 – 이벤트 로그에 stderr( System.err.print) 내용 기록

Application Server Enterprise Edition 8.2에는 이러한 로그 옵션이 더 이상 존재하지 않습니다.

Application Server 8.2의 HTTP 파일 캐시 기능과 관련된 정보가 충돌함(ID 6474799)

Application Server Enterprise Edition 8.2 설명서 중 Sun Java System Application Server Enterprise Edition 8.2 Performance Tuning GuideHTTP File Cache에는 HTTP 파일 캐시 기능에 대한 설명이 있습니다. 그러나 이 기능은 Application Server Enterprise Edition 8.2에 포함되어 있지 않습니다. 이 기능은 Application Server 9.0에서 다시 도입되었습니다.

고가용성

이 절에서는 고가용성 데이터베이스(HADB)와 관련된 알려진 문제점과 해결 방법을 설명합니다.

hadbm set가 자원 가용성(디스크 및 메모리 공간)을 확인하지 않음(ID 5091280)

hadbm set을 사용하여 장치 또는 버퍼 크기를 늘리면 관리 시스템은 데이터베이스를 만들거나 노드를 추가하면서 자원 사용 가능 여부를 확인합니다. 하지만 장치 또는 주 메모리 버퍼 크기가 변경된 경우에는 자원이 충분한지 확인하지 않습니다.

해결 방법

devicesize 또는 buffersize 구성 속성을 늘리기 전에 모든 호스트에서 사용 가능 디스크와 메모리 공간이 충분한지 확인합니다.

packagepath에 대한 이기종 경로가 지원되지 않음(ID 5091349)

다른 호스트의 다른 위치에 같은 소프트웨어 패키지를 같은 이름으로 등록할 수는 없습니다. 예를 들면 다음과 같습니다.


hadbm registerpackage test --packagepath=/var/install1 --hosts europa11
Package successfully registered.
hadbm registerpackage test --packagepath=/var/install2 --hosts europa12
hadbm:Error 22171: A software package has already been registered with 
the package name test.

해결 방법

HADB는 데이터베이스 클러스터의 여러 노드에 걸친 이기종 경로를 지원하지 않습니다. HADB 서버 설치 디렉토리(--packagepath)가 모든 참여 호스트에서 동일한지 확인합니다.

createdomain이 실패할 수 있음(ID 6173886, 6253132)

네트워크 인터페이스가 여러 개인 호스트에서 관리 에이전트를 실행하면 createdomain 명령은 모든 네트워크 인터페이스가 동일한 서브넷에 있지 않을 경우 실패하게 됩니다.


hadbm:Error 22020: The management agents could not establish a 
domain, please check that the hosts can communicate with UDP multicast.

구성되지 않은 경우 관리 에이전트는 "첫" 인터페이스를 interface for UDP 멀티캐스트에 사용합니다. "첫" 인터페이스는 java.net의 결과에 의해 정의됩니다.NetworkInterface.getNetworkInterfaces().

해결 방법

가장 좋은 해결 방법은 사용할 서브넷을 관리 에이전트에 알리는 것입니다(구성 파일에서 ma.server.mainternal.interfaces 설정. 예: ma.server.mainternal.interfaces=10.11.100.0). 서브넷 사이의 라우터를 구성하여 멀티캐스트 패킷을 라우팅할 수도 있습니다(관리 에이전트는 멀티캐스트 주소 228.8.8.8을 사용).

관리 에이전트의 새 구성으로 재시도하기 전에 관리 에이전트 리포지토리를 정리해야 합니다. 도메인의 모든 에이전트를 중단하고 관리 에이전트 구성 파일의 repository.dr.path 에 지정된 모든 파일 및 디렉토리를 삭제합니다. 새 구성 파일이 있는 에이전트를 다시 시작하기 전에 모든 호스트에서 이 정리 작업을 수행해야 합니다.

HADB 인스턴스를 삭제한 후 디렉토리를 정리해야 함(ID 6190878)

HADB 인스턴스를 삭제한 후 configure-ha-cluster 명령을 사용하여 새 인스턴스를 만들 수 없습니다. 문제는 ha_install_dir/rep/*ha_install_dir/config/hadb/instance_name의 원본 HADB 인스턴스에 이전 디렉토리가 남아 있는 것입니다.

해결 방법

HADB 인스턴스를 삭제한 후 해당 디렉토리를 수동으로 삭제하십시오.

clu_trans_srv를 중단할 수 없음(ID 6249685)

비동기 I/O를 수행할 때 Red Hat Enterprise Linux 3.0의 64비트 버전에 clu_trans_srv 프로세스를 무중단 모드로 만드는 버그가 있습니다. 즉, kill -9 명령이 동작하지 않아 운영 체제를 재부팅해야 합니다.

해결 방법

Red Hat Enterprise Linux 3.0의 32비트 버전을 사용합니다.

hadbm이 대문자로 된 비밀번호를 지원하지 않음(ID 6262824)

비밀번호가 hadb에 저장될 때 대문자로 된 비밀번호는 소문자로 변환됩니다.

해결 방법

비밀번호에 대문자를 사용하지 마십시오.

세션 객체가 시간 초과되어 관리 에이전트에서 삭제될 때 hadbm/ma에서 잘못된 오류 메시지 발생(ID 6275103)

서버의 차원 충돌 때문에 관리 클라이언트의 연결이 끊어지는 경우가 있습니다. 다시 연결할 때 잘못된 오류 메시지 "hadbm:Error 22184:A password is required to connect to the management agent"가 반환될 수 있습니다.

해결 방법

서버에서 자원 문제가 발생했는지 확인하고 적절한 조치를 취한 다음(자원을 추가하는 등) 작업을 다시 시도합니다.

관리 에이전트에서 특수 용도의 인터페이스를 사용해서는 안 됨(ID 6293912)

0.0.0.0과 같은 IP 주소를 가진 특수 용도의 인터페이스는 관리 에이전트에서 HADB 노드에 사용할 유효한 인터페이스로 등록되지 않아야 합니다. 이러한 인터페이스를 등록하면 IP 주소 대신 호스트 이름으로 hadbm create 명령을 호출하는 사용자가 HADB 노드를 이런 인터페이스에 설정하는 경우 문제가 생길 수 있습니다. 그러면 노드가 통신할 수 없게 되어 create 명령이 중단될 수 있습니다.

해결 방법

인터페이스가 여러 개 있는 호스트에서 hadbm create를 사용할 때 항상 DDN 표기 형식을 사용하여 IP 주소를 명확하게 지정해야 합니다.

Windows에서 리어셈블리 오류(ID 6291562)

특정 구성과 로드의 Windows 플랫폼에서 운영 체제에 다수의 리어셈블리 오류가 발생할 수 있습니다. 여러 테이블에 대한 스캔을 동시에 실행할 때(select *) 20개가 넘는 노드로 된 구성에 문제가 있었습니다. 나타날 수 있는 증상으로는 트랜잭션이 자주 중단되거나, 복구 또는 복원 시간이 오래 걸리거나, 시스템 여러 부분에서 시간 초과가 자주 일어나는 현상을 들 수 있습니다.

해결 방법

이 문제를 해결하기 위해 Windows 레지스트리 변수 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 를 기본값인 100보다 높게 설정할 수 있습니다. 최상의 결과를 얻으려면 이 값을 0x1000( 4096)으로 높이십시오. 자세한 내용은 Microsoft 지원 페이지의 811003 자료를 참조하십시오.

hadbm start db_name을 실행하면 입력한 비밀번호의 일부가 마스크 처리되지 않은 상태로 표시됨(ID 6303581, 6346059, 6307497)

시스템이 오버로드되면 마스크 처리 메커니즘이 실패하고 입력된 비밀번호 중 몇 자가 노출될 수 있습니다. 이런 노출은 경미한 보안 위험으로 이어질 수 있습니다. 비밀번호는 항상 마스크 처리해야 합니다.

해결 방법

자체 비밀번호 파일에 비밀번호를 입력(Application Server 8.1 이후 버전에서 일반적으로 권장되는 방법)하고 --adminpassword 또는 --dbpasswordfile 옵션으로 이 파일을 참조하십시오.

설치

이 절에서는 설치와 관련된 알려진 문제점과 해결 방법을 설명합니다.

최소 Application Server 8.x 로드 밸런서에 사용되는 Java Enterprise System 5 설치 프로그램이 제대로 설치되지 않음(ID 6478047)

Apache와 IIS는 Java ES 5 설치 프로그램을 통해 구성할 수 없습니다. Windows 플랫폼에서 Apache와 ISS를 수동으로 구성해야 합니다.

해결 방법

로드 밸런서 Apache 또는 IIS를 구성하려면 다음 단계를 수행합니다.

     Apache 2.x 구성:

  1. Apache 2.x를 설치합니다.

    Apache는 APDIR=C:\Apache2\Apache2 디렉토리에 설치됩니다.

  2. 최소 설치로 JES5를 설치합니다.

    로드 밸런서를 제외한 모든 구성 요소의 선택을 해제합니다. Java ES 5는 JES5DIR=C:\Program Files\Sun\JavaES5 디렉토리에 설치됩니다.

    The

  3. Apache2 디렉토리에 resourceerrorpages 디렉토리를 만듭니다.

    mkdir %APDIR%\modules\resource

    mkdir %APDIR%\modules\errorpages

  4. 자원 파일을 resource 디렉토리에 복사합니다.

    cd %APDIR%\modules\resource

    copy %JES5DIR%\appserver\lib\webserver-plugin\windows\apache2\LBPlugin*.res .

  5. 로드 밸런서 DLL을 modules 디렉토리에 복사합니다.

    cd %APDIR%\modules

    copy %JES5DIR%\appserver\lib\webserver-plugin\windows\apache2\mod_loadbalancer.dll .

  6. errorpages 템플리트를 errorpages 디렉토리에 복사합니다.

    cd %APDIR%\modules\errprpages

    copy %JES5DIR%appserver\lib\webserver-plugin\windows\iws\errorpages .

  7. 로드 밸런서 템플리트와 기타 DTD를 Apache config 디렉토리에 복사합니다.

    cd %APDIR%\config

    copy %JES5DIR%\appserver\lib\install\templates\loadbalancer.xml.template .

    copy %JES5DIR%\appserver\lib\dtds\sun-loadbalancer* .

  8. httpd.conf 파일의 백업을 만듭니다.

    cd %APDIR%\config

    copy httpd.conf httpd.conf.orig

  9. httpd.conf 파일을 편집합니다.

    httpd.conf 파일에 다음 행을 추가합니다.

    ##BEGIN EE LB Plugin Parameters
    LoadModule apachelbplugin_module modules/mod_loadbalancer.dll
    <IfModule mod_apache2lbplugin.cpp>
    		config-file "C:\Apache2\Apache2/conf/loadbalancer.xml"
    		locale en
    </IfModule>
    <VirtualHost 10.12.8.107>
    DocumentRoot "C:\Apache2\Apache2/htdocs"
    ServerName vm07
    </VirtualHost>
    ##END EE LB Plugin Parameters
  10. C:\Apache2\Apache2를 실제 %APDIR% 디렉토리로 대체합니다.

    IP, ServerName 및 DocumentRoot 디렉토리도 대체합니다.

  11. %APDIR%에 새 sec_db_files 디렉토리를 만듭니다.

    cd %APDIR%

    mkdir sec_db_files

  12. NSS 키 저장소를 %APDIR%\sec_db_files 디렉토리에 복사합니다.

    cd %APDIR%\sec_db_files

    copy %JES5DIR%\appserver\lib\webserver-plugin\windows\iis\*.db .

  13. 필요한 라이브러리를 포함하도록 PATH를 설정합니다.

    다음 추가 경로를 앞에 추가합니다.

    PATH %JES5DIR%\share\lib;%JES5DIR%\appserver\lib;%JES5DIR%\appserver\bin

  14. %JES5DIR%를 실제 Java ES 5 디렉토리로 대체합니다.

  15. 값이 1인 NSPR_NATIVE_THREADS_ONLY 변수를 시스템 환경에 추가합니다.

  16. Apache 2를 다시 부팅하고 테스트합니다(loadbalancer.xml 구성 후).

    IIS LBPlugin 구성:

  1. c:\inetpub\wwwroot 디렉토리에 sun-passthrough 디렉토리를 만듭니다.

    cd c:\inetpub\wwwroot

    mkdir sun-passthrough

  2. c:\inetpub\wwwroot\sun-passthrough 디렉토리에 errorpages, resourcesec_db_files 디렉토리를 만듭니다.

    cd c:\inetpub\wwwroot\sun-passthrough

    mkdir errorpages

    mkdir resources

    mkdir sec_db_files

  3. DLL 파일을 sun-passthrough 디렉토리에 복사합니다.

    copy <as_install_dir>/appserver/lib/webserver-plugin/iis/*.dll c:\inetpub\wwwroot\sun-passthrough\

  4. DTD를 sun-passthrough 디렉토리에 복사합니다.

    copy <as_install_dir>/appserver/lib/dtds/sun-loadbalancer*.dtd c:\inetpub\wwwroot\sun-passthrough\

  5. sun-passthrough.properties 파일을 sun-passthrough 디렉토리에 복사합니다.

    copy <as_install_dir>/appserver/lib/webserver-plugin/iis c:\inetpub\wwwroot\sun-passthrough\

  6. 보안 DB 파일을 sun-passthrough 디렉토리에 복사합니다.

    copy <as_install_dir>/appserver/lib/webserver-plugin/iis/*.db c:\inetpub\wwwroot\sun-passthrough\sec_db_files\

  7. 자원 파일을 sun-passthrough 디렉토리에 복사합니다.

    copy <as_install_dir>/appserver/lib/webserver-plugin/iws/*.res c:\inetpub\wwwroot\sun-passthrough\resource\

  8. 오류 페이지를 sun-passthrough 디렉토리에 복사합니다.

    copy <as_install_dir>/appserver/lib/webserver-plugin/iws/errorpages/*.html c:\inetpub\wwwroot\sun-passthrough\errorpages\

  9. loadbalancer.xml.example 템플리트를 sun-passthrough 디렉토리에 복사합니다.

    copy <as_install_dir>/appserver/lib/install/templates/loadbalancer.xml.example c:\inetpub\wwwroot\sun-passthrough\

  10. sun-passthrough.properties 파일을 편집합니다.

    ##BEGIN EE LB Plugin Parameters
    log-file = C:\InetPub\wwwroot\sun-passthrough\lb.log
    ### The valid options for different logging levels are FATAL, SEVERE, WARNING, INFO and FINE.
    log-level = INFO
    lb-config-file = C:\InetPub\wwwroot\sun-passthrough\loadbalancer.xml
    ##END EE LB Plugin Parameters

주 –

IIS6을 구성하는 경우에는 권한을 설정하고 AS82 설명서에 있는 추가 단계를 수행해야 합니다. IIS6 격리 모드를 IIS5 호환으로 설정해야 할 수도 있습니다.


설치 중에 imq 디렉토리를 만들어야 함(ID 6199697)

Windows 플랫폼에서 Application Server Enterprise Edition을 설치한 직후에 Message Queue 브로커를 시작하면 오류가 발생합니다. drive:\as\domains\domain1\imq 디렉토리가 없다는 오류 메시지가 표시됩니다.

domain1을 시작한 후 브로커가 시작되면 디렉토리가 Application Server에 의해 만들어지기 때문에 문제가 발생하지 않습니다.

해결 방법

  1. 브로커를 만들기 전에 var_home_dir_location을 만듭니다.


    $imqbrokerd -varhome var_home_dir_location
    

    예를 들면 다음과 같습니다.


    $imqbrokerd -varhome D:\as\domains\domain1\imq

J2EE Tutorial

Sun Java System Application Server Enterprise Edition 8.2에서 J2EE 1.4 Tutorial을 실행하려면 다음 작업을 수행합니다.

라이프사이클 관리

이 절에서는 라이프사이클 관리와 관련된 알려진 문제점과 해결 방법을 설명합니다.

ejb-timer-service 등록 정보를 변경하면 오류가 생성됨(ID 6193449)

ejb-timer-service 등록 정보 minimum-delivery-interval9000으로 설정한 후 ejb-timer-service 등록 정보 redelivery-interval-in-mills7000으로 설정하면 set 명령이 실패합니다. 다음 오류 메시지가 표시됩니다.

[echo] Doing admin task set
[exec] [Attribute(id=redelivery-interval-internal-in-millis) : Redelivery-
Interval (7,000) should be greater than or equal to Minimum-delivery-
interval-in-millis (9,000)]
[exec] CLI137 Command set failed.

해결 방법

다음과 같이 등록 정보의 기본값을 사용합니다.

minimum-delivery-interval(default)=7000
redelivery-interval-in-millis(default)=5000

기본값 외의 값을 사용하면 오류가 발생합니다.

로깅

이 절에서는 로깅과 관련된 알려진 문제점과 해결 방법을 설명합니다.

access.failure에 대한 디버그 명령문을 설정하면 Application Server 시작이 중단됨(ID 6180095)

JVM에 대해 java.security.debug 옵션을 설정하면 서버 인스턴스 시작이 교착 상태로 중단됩니다. 예를 들어 domain.xml에 다음과 같이 설정하면 이러한 문제가 발생합니다.

<jvm-options\>-Djava.security.debug=access,failure</jvm-options\>

해결 방법

없습니다. 이 플래그를 설정하지 마십시오.

Java ES 3 Application Server의 로깅 위치 및 인스턴스 위치가 변경되었음(ID 6189409)

기본 로깅 및 서버 인스턴스 위치가 Sun Java System 8.2에서 버전 7 및 호환 버전과는 다른 값으로 변경됩니다.

자세한 내용은 Sun Java System Application Server Enterprise Edition 8.2 관리 설명서 또는 Sun Java System Application Server Enterprise Edition 8.2 Upgrade and Migration Guide를 참조하십시오.

Message Queue

이 절에서는 Java Message Queue와 관련된 알려진 문제점과 해결 방법을 설명합니다.

JMS 다시 연결이 타이밍 종속 사례에서 제대로 완료되지 않음(ID 6173308, 6189645, 6198481, 6199510, 6208728)

몇 가지 문제로 인해 타이밍 종속 시나리오에서 재연결에 실패할 수 있습니다.

해결 방법

다음과 같은 방법으로 이 문제를 해결할 수 있습니다.

비동기 메시지 수신기 동작이 appclient 8.0에서 8.1 Update 2로 변경됨(ID 6198465)

최근 변경 작업으로 인해 비동기 message listener가 app-client 컨테이너의 유일한 활성 스레드일 때 남은 appclient VM은 데몬으로 존재합니다. 이러한 동작은 ACC에서 비동기 수신을 수행하는 과거 응용 프로그램에 대한 회귀입니다. 이 문제는 JMS message listener를 설정하고 주 스레드를 종료하는 응용 프로그램 클라이언트에 영향을 미칩니다.

해결 방법

주 스레드를 종료하지 마십시오. 주 스레드를 종료하기 전에 message listener에서 주 스레드에 알릴 때까지 기다립니다.

모니터링

이 절에서는 모니터링과 관련된 알려진 문제점과 해결 방법을 설명합니다.

모니터링 프레임워크와 Application Server 통합(6469302)

Application Server 베타 릴리스에서는 기본적으로 모니터링 프레임워크가 지원되지 않았습니다.

해결 방법

    모니터링 프레임워크를 Application Server와 통합하려면 다음 단계를 수행합니다.

  1. <Install_dir>\appserver\lib\install\templates\ee\com.sun.cmm.as.xml 파일을 편집합니다.

    ${InstalledDate}를 Application Server 설치 위치로 업데이트하고 ${InstalledDate}를 현재 날짜로 업데이트합니다.

  2. <Install_dir>\appserver\lib\install\templates\ee\com.sun.cmm.as.xml 파일을 <Install_dir>\appserver\lib에 복사합니다.

  3. <MFWK_Install_location>\bin\mfwksetup.bat -r <Install_dir>\appserver\lib\com.sun.cmm.as.xml 명령을 실행합니다.


주 –

${InstalledLocation} 값은 Application Server 설치 위치인 c:\Sun\JavaES5\appserver입니다. $InstalledDate에는 현재 시간을 1970년부터 밀리초 단위로 계산한 값을 입력해야 합니다.


샘플

이 절에서는 Application Server 8.2 제품에 포함된 샘플 코드와 관련된 알려진 문제점과 해결 방법을 설명합니다.

setup-one-machine-cluster가 중단됨(ID 6195092)

Windows 플랫폼에서 mqfailover 명령을 사용하려면 Ctrl+C 키를 눌러 중단된 프로세스를 종료해야 합니다. setup-one-machine-cluster 프로세스를 다시 실행해야 합니다.

install_dir\samples\ee-samples\failover\apps\mqfailover\docs\index.html에서 다음 명령을 실행합니다.

다른 Enterprise Edition 샘플에 대해 asant setup-one-machine-cluster-without-ha 또는 asant setup-one-machine-cluster-with-ha를 이미 실행한 경우에는 asant configure-mq를 실행합니다. 또는 asant setup-one-machine-cluster-and-configure-mq를 실행합니다. 이 경우 명령은 성공적으로 실행된 것처럼 보입니다.


start_nodeagent: [echo] Start the node agent cluster1-nodeagent 
[exec] Command start-node-agent executed successfully.

그러나 그런 다음에 시스템이 중단됩니다.

해결 방법

없습니다. 이 문제는 Windows에서 이 ant 대상을 사용하는 모든 Enterprise Edition 샘플에 비슷한 영향을 미칩니다. 해결 방법은 Ctrl+C를 눌러 중단된 프로세스를 끝낸 다음 다시 실행하는 것입니다.

Message Queue 페일오버 샘플 응용 프로그램을 실행하기 전에 JMS 자원을 만들어야 할 필요성을 설명서에서 명시하지 않음(ID 6198003)

asadmin 배포 지침을 완료하고 Message Queue 페일오버 샘플 응용 프로그램을 만들면 다음 오류 메시지가 표시됩니다.


/opt/SUNWappserver/domains/domain1/config/sun-acc.xml -name 
MQFailoverTestClient -textauth -user j2ee -password j2ee
ov 18, 2004 10:50:17 PM com.sun.enterprise.naming.NamingManagerImpl 
bindObjects
SEVERE: NAM0006: JMS Destination object not found: jms/durable/TopicA
Nov 18, 2004 10:50:18 PM com.sun.enterprise.naming.NamingManagerImpl 
bindObjects
SEVERE: javax.naming.NameNotFoundException
javax.naming.NameNotFoundException

asadmin deploy 명령을 사용하여 수동으로 배포를 수행할 경우 JMS 자원을 수동으로 만들어야 한다고 명시하는 내용이 설명서에 없습니다. 설명서에는 제공된 ant 대상을 사용하여 샘플 응용 프로그램을 배포해야 한다는 내용도 없습니다.

해결 방법

응용 프로그램을 실행하는 데 필요한 JMS 자원을 만드는 build.xml 스크립트에 asant deploy 대상을 사용합니다.

보안

이 절에서는 Application Server 및 웹 응용 프로그램 보안과 인증에 관련된 알려진 문제점과 해결 방법을 설명합니다.

WebServiceSecurity 응용 프로그램을 Enterprise Edition에서 J2SE 5.0과 함께 실행할 수 없음(ID 6183318)

다음과 같은 이유로 WebServiceSecurity 응용 프로그램을 J2SE 5.0과 함께 실행할 수 없습니다.

해결 방법

J2SE 1.4.2를 기본적으로 포함된 공급자가 아닌 다른 JCE 공급자와 함께 사용합니다. 하드웨어 가속기는 이 구성에 포함되지 않습니다.

SSL 종료가 작동하지 않음(ID 6269102)

로드 밸런서(하드웨어)가 SSL 종료에 맞게 구성되었다면 Application Server는 리디렉션 동안 프로토콜을 https 에서http로 변경합니다.

해결 방법

하드웨어 로드 밸런서와 Application Server 사이에 소프트웨어 로드 밸런서를 추가합니다.

업그레이드 유틸리티

이 절에서는 업그레이드 유틸리티와 관련된 알려진 문제점과 해결 방법에 대해 설명합니다.

샘플 스크립트에 사용되는 Derby 데이터베이스가 잘못된 위치에 만들어짐(ID 6377804)

이 버그는 다음과 같은 두 가지 특징이 있습니다.

  1. Derby 데이터베이스를 사용하는 샘플 응용 프로그램 설정 스크립트를 실행하면 Derby 데이터베이스가 현재 디렉토리 또는 <install_root>/bin에 만들어집니다.

  2. 샘플 build Ant 스크립트는 현재 디렉토리에서 관리 비밀번호 파일을 저장하는 password.txt 파일을 만듭니다. 루트가 아닌 스파스 영역 시나리오에서는 이 파일에 쓸 수 없습니다.

해결 방법

  1. Derby 데이터베이스 위치--dbhome 옵션을 start-database 명령과 함께 사용하여 --dbhome에 대해 지정된 값에 데이터베이스를 만듭니다. 예를 들어, start-database에 대한 asadmin 명령 구문은 다음과 같습니다.


    start-database [--dbhost 0.0.0.0] [--dbport 1527] [--dbhome db_directory] [--echo=false] 
    [--verbose=false]
  2. password.txt 파일의 위치 – 모든 빌드 명령은 password.txt 파일을 해당 디렉토리에 만들도록 설계되었기 때문에 샘플 디렉토리를 쓸 수 있습니다. 쓸 수 있는 위치에 샘플의 작업 복사본을 설치합니다.

관리 사용자 이름 또는 비밀번호에서 세미콜론(;) 문자를 무효화하지 못함(ID 6473341)

Application Server Enterprise Edition 8.2 설치에서는 관리자 이름에 특수 문자를 사용할 수 없습니다. 특수 문자를 사용할 경우 도메인이 만들어지지 않습니다. 관리 비밀번호에는 특수 문자를 사용할 수 있습니다.

해결 방법

Application Server 7에서 Application Server 8.2로 업그레이드하는 경우 관리자 이름에 특수 문자가 포함되어 있는지 확인합니다.

웹 컨테이너

이 절에서는 웹 컨테이너와 관련된 알려진 문제점과 해결 방법을 설명합니다.

로드 밸런서 플러그인에 Apache 및 IIS 지원 없음

Sun Java ES 5 Application Server에서는 로그 밸런서 플러그인에 대해 Apache 및 IIS(비Sun 웹 컨테이너)를 지원하지 않습니다. Sun Java ES는 로드 밸런서 플러그인 구성을 위해 Sun Java System Web Server를 설치합니다.

--precompilejsp=true를 사용하여 응용 프로그램을 배포하면 JAR 파일이 잠길 수 있음(ID 5004315)

Windows에서 응용 프로그램을 배포할 때 JSP의 사전 컴파일을 요청하고 나중에 해당 응용 프로그램의 배포를 해제하거나, 해당 응용 프로그램(또는 동일한 모듈 아이디를 가진 응용 프로그램)을 재배포하려고 시도하면 예상한 것처럼 작동하지 않습니다. JSP 사전 컴파일을 수행하면 응용 프로그램의 JAR 파일을 열기만 하고 닫지는 않으며, Windows에서는 배포 해제 시 해당 파일을 삭제하지 못하거나 재배포 시 덮어쓰지 못합니다.

배포 해제는 응용 프로그램이 Application Server에서 논리적으로 제거된다는 점에서 어느 정도는 성공한 것으로 볼 수 있습니다. 또한 asadmin 유틸리티는 오류 메시지를 반환하지 않지만 응용 프로그램의 디렉토리와 잠긴 jar 파일은 서버에 남아 있습니다. 서버의 로그 파일에는 파일 및 응용 프로그램 디렉토리를 삭제하는 데 실패한 것을 설명하는 메시지가 포함됩니다.

배포 해제에 실패한 후 응용 프로그램을 재배포하려는 시도는 서버에서 기존 파일과 디렉토리를 제거하려고 하기 때문에 역시 실패하게 됩니다. 이러한 문제는 원래 배포한 응용 프로그램과 동일한 모듈 아이디를 사용하는 응용 프로그램을 배포하려고 시도할 경우 서버가 응용 프로그램 파일을 저장할 디렉토리 이름을 선택할 때 모듈 아이디를 사용하기 때문에 발생할 수 있습니다.

먼저 응용 프로그램의 배포를 해제하지 않고 재배포하려고 시도하는 경우도 같은 이유 때문에 실패합니다.

진단

응용 프로그램의 배포를 해제한 후 다시 배포하려 하면 asadmin 유틸리티에서 다음과 비슷한 오류를 반환합니다.


An exception occurred while running the command. The exception 
message is: CLI171 Command deploy failed : Deploying application in 
domain failed; Cannot deploy. Module directory is locked and can't 
be deleted.

해결 방법

응용 프로그램을 배포할 때 --precompilejsps=false(기본 설정)를 지정한 경우에는 이 문제가 발생하지 않습니다. 응용 프로그램을 처음 사용하면 JSP 컴파일이 트리거되어 첫 번째 요청에 대한 응답 시간은 이후의 요청에 대한 응답 시간보다 더 깁니다.

사전 컴파일을 수행하면 응용 프로그램을 배포 해제 또는 재배포하기 전에 서버를 중단하고 다시 시작해야 합니다. 서버를 종료하면 잠긴 JAR 파일의 잠금이 해제되어 재시작한 후 배포 해제 또는 재배포를 성공적으로 수행할 수 있습니다.

WAR를 빈 <load-on-startup> 요소가 있는 Servlet 2.4 기반 web.xml과 함께 배포할 수 없음(ID 6172006)

web.xml 파일에서 선택 요소인 load-on-startup 서블릿 요소는 연관된 서블릿이 선언된 웹 응용 프로그램 시작의 일부로 초기화되는 것을 나타냅니다.

이 요소의 옵션 부분은 서블릿이 웹 응용 프로그램의 다른 서블릿과 관련하여 로드되고 초기화되는 순서를 나타내는 정수입니다. <load-on-startup> 요소가 비어 있으면 서블릿이 포함하는 웹 응용 프로그램을 시작하는 동안 서블릿이 로드되고 초기화되는 한 순서는 상관이 없음을 의미합니다.

web.xml 파일을 위한 Servlet 2.4 스키마는 더 이상 빈 <load-on-startup>을 지원하지 않습니다. 즉, Servlet 2.4 기반 web.xml을 사용할 때 정수를 지정해야 합니다. <load-on-startup/>와 같이 빈 <load-on-startup>을 지정하면 web.xmlweb.xml을 위한 Servlet 2.4 스키마에 대한 검증에 실패하며 이 때문에 웹 응용 프로그램 배포에 실패하게 됩니다.

역호환성 문제. 빈 <load-on-startup>을 지정해도 Servlet 2.3 기반의 web.xml과는 아무 문제 없이 작동합니다.

해결 방법

Servlet 2.4 기반 web.xml을 사용하여 서블릿 로드 순서가 중요하지 않다는 것을 나타낼 때 <load-on-startup>0</load-on-startup>을 지정합니다.

자원이 제한된 서버에서 JSP 페이지를 컴파일할 수 없음(ID 6184122)

JSP 페이지에 액세스하지만 컴파일하지는 못하며, 서버 로그에는 다음 스택 추적과 함께 "Unable to execute command"라는 오류 메시지가 포함됩니다.


at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.
exec(Execute.java:655) at org.apache.tools.ant.taskdefs.Execute.
launch(Execute.java:416) 
at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:427) 
at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.
executeExternalCompile(DefaultCompilerAdapter.java:448) 
at org.apache.tools.ant.taskdefs.compilers.JavacExternal.execute
(JavacExternal.java:81) 
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:842) 
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:682) 
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:396)

해결 방법

JSP 컴파일 스위치인 "fork"를 "false"로 설정합니다.

이 설정은 다음 두 가지 방법으로 활성화할 수 있습니다.

어떤 방법으로 설정해도 Ant에서 javac 컴파일을 위한 새 프로세스를 생성하지 못하게 됩니다.

Application Server가 auth-passthrough Web Server 6.1 Add-On을 지원하지 않음(ID 6188932)

Sun Java System Application Server Enterprise Edition 8.2는 Sun Java System Application Server Enterprise Edition 7.1에서 사용할 수 있는 auth-passthrough 플러그인 함수가 제공하는 기능을 추가로 지원합니다. 하지만 Application Server Enterprise Edition 8.2에서 auth-passthrough 플러그인 기능은 다르게 구성됩니다.

Application Server Enterprise Edition 7.1에서 auth-passthrough 플러그인 함수는 다음 조건일 경우 2계층 배포 시나리오에 사용할 수 있었습니다.

이러한 네트워크 아키텍처에서 클라이언트는 프런트엔드 웹 서버에 연결됩니다. 이 웹 서버는 service-passthrough 플러그인 함수로 구성되어 있으며 프록시를 거친 Application Server 인스턴스에 처리하도록 HTTP 요청을 전달합니다. Application Server 인스턴스는 웹 서버 프록시의 요청만 받을 수 있는데 클라이언트 호스트로부터는 직접 받지 못합니다. 결과적으로, 프록시를 거친 Application Server 인스턴스에 배포되어 있고 클라이언트의 IP 주소 같은 클라이언트 정보를 쿼리하는 모든 응용 프로그램은 프록시 호스트 IP를 받습니다. 프록시 호스트가 전달된 요청을 실제로 보낸 호스트이기 때문입니다.

Application Server Enterprise Edition 7.1에서 auth-passthrough 플러그인 함수는 프록시를 거친 Application Server 인스턴스에서 구성될 수 있습니다. 이는 service-passthrough 플러그인을 실행 중인 중간 웹 서버를 통하지 않고 프록시를 거친 Application Server 인스턴스가 요청을 직접 받을 수 있는 것과 마찬가지로 이 인스턴스에 배포되어 있는 응용 프로그램에서 직접 원격 클라이언트의 정보를 사용할 수 있도록 하기 위해서입니다.

Application Server Enterprise Edition 8.2에서 auth-passthrough 기능은 다음과 같이 domain.xml<http-service> 요소의 authPassthroughEnabled 등록 정보를 TRUE로 설정하여 사용할 수 있습니다.


<property name="authPassthroughEnabled" value="true"/>

Application Server Enterprise Edition 7.1에서 auth-passthrough 플러그인 함수의 동일한 보안 고려 사항은Application Server Enterprise Edition 8.2의 authPassthroughEnabled 등록 정보에도 적용됩니다. authPassthroughEnabled를 사용하면 인증 목적으로 사용할 수 있는 정보(요청을 보낸 IP 주소 또는 SSL 클라이언트 인증서 등)를 대체할 수 있습니다. 따라서 트러스트된 클라이언트 또는 서버에만 Application Server Enterprise Edition 8.2 인스턴스 연결이 허용되도록 authPassthroughEnabledTRUE로 설정해야 합니다. authPassthroughEnabledTRUE로 설정하고 서버를 회사 방화벽 뒤에 구성하면 보호를 좀더 강화할 수 있습니다. 인터넷을 통해 액세스할 수 있는 서버는 authPassthroughEnabledTRUE로 설정하여 구성해서는 안 됩니다.

프록시 웹 서버가 service-passthrough 플러그인으로 구성되어 있고 authPassthroughEnabledTRUE로 설정된 Application Server 8.1 Update 2 인스턴스에 요청을 전달하는 시나리오에서 SSL 클라이언트 인증은 웹 서버 프록시에서 사용할 수 있으며 프록시를 거친 Application Server 8.1 Update 2 인스턴스에서는 사용할 수 없습니다. 이 경우 프록시를 거친 Application Server 8.1 Update 2 인스턴스는 요청을 마치 SSL을 통해 인증된 것처럼 취급하고 클라이언트의 SSL 인증서를 요청하는 배포된 응용 프로그램에 해당 인증서를 제공합니다.

--enabled=false를 사용하여 만든 HTTP 수신기는 수신기를 비활성화할 수 없음(ID 6190900)

--enabled=false 플래그를 사용하여 httplistener를 만들 경우 해당 수신기가 비활성화되지 않습니다. --enabled 플래그는 수신기를 만드는 동시에 사용되는 경우에는 적용되지 않습니다.

해결 방법

수신기를 활성 상태에서 만든 다음 나중에 수동으로 비활성화합니다.