애플리케이션 배치 중에 어노테이션 검색 줄이기

많은 클래스를 포함하고 어노테이션 처리가 가능한 엔터프라이즈 애플리케이션("metadata-complete"로 표시되지 않음)은 배치하는 데 추가 시간이 걸립니다. Java™ EE 5에서 도입된 어노테이션의 애플리케이션 2진을 스캔하려면 추가 시간이 필요합니다. 스캔하는 클래스를 제한하는 추가 옵션이 없으면 모듈에서 스캔을 사용할 때 모듈에 있는 모든 클래스를 스캔해야 합니다. 지정된 모듈 내 작은 서브세트의 클래스만 어노테이션을 포함하는 경우에도 모든 클래스를 스캔해야 합니다.

시작하기 전에

빠른 바이트코드 스캔 기술은 배치 성능을 개선하는 데 사용됩니다. 그러나 어노테이션에 대해 스캔되는 클래스를 제한하면 배치 성능을 더 향상시킬 수 있습니다.

모듈이 metadata-complete로 표시되면 전체 모듈에 적용됩니다. 어노테이션 처리가 필요한 경우 모듈을 metadata-complete로 표시할 수 없습니다. 또한 모듈을 metadata-complete로 표시하면 모듈 스캔을 차단하여 EJB 또는 웹 서비스 어노테이션을 사용하는 웹 모듈에서 문제점이 발생할 수 있습니다.

웹 모듈 아카이브(WAR 파일)의 JAR 파일을 애플리케이션 라이브러리 폴더로 이동할 수 있습니다. 그러나 WAR 파일을 이동할 경우 웹 모듈 캡슐화가 파손되거나 다른 JAR 파일이 필요한 다중 모듈이 표시되므로, WAR 파일 이동이 불가능할 수 있습니다.

이러한 제한사항을 극복하고 배치 시간을 줄이기 위해 IBM® WebSphere® Application Server에서는 어노테이션에 대해 스캔되는 클래스를 제한하는 옵션을 제공합니다.

제품 서버에 Java EE(Java Platform, Enterprise Edition) 이상을 지원하는 애플리케이션을 설치하십시오. 배치 속도가 비정상적으로 느리고, 나중에 애플리케이션을 다시 배치하려는 경우와 애플리케이션이 어노테이션 처리를 위해 사용 가능한 모듈을 포함하는 경우 이 주제의 프로시저를 완료하여 어노테이션을 위해 스캔하는 클래스 수를 줄이십시오.

이 태스크 정보

제품에서는 어노테이션을 검색하는 클래스 수를 줄이기 위해 구성 가능한 필터링 함수를 제공합니다. 다음 네 개의 특성 또는 Manifest 속성을 통해 어노테이션 처리에서 무시할 모듈 또는 Java 패키지를 식별할 수 있습니다.

  • Ignore-Scanning-Archives
  • Ignore-Scanning-Packages
  • Include-Scanning-Archives
  • Include-Scanning-Packages

특성은 app_server_root/propertiesamm.filter.properties에서 지정하거나 Manifest 속성으로 지정할 수 있습니다.

또한 이러한 시스템 특성을 사용하여 무시할 모듈 또는 Java 패키지를 식별할 수도 있습니다.
  • com.ibm.ws.amm.scan.context.filter.archives
  • com.ibm.ws.amm.scan.context.filter.packages
  • com.ibm.ws.amm.scan.context.include.archives
  • com.ibm.ws.amm.scan.context.include.packages

이 옵션을 사용하여 어노테이션에 대해 스캔하는 클래스를 제한합니다. 성능은 제거된 클래스 수에 비례하여 향상됩니다. 어노테이션 데이터가 없는 클래스의 처리도 제거됩니다.

일반적으로 필터링은 전체 아카이브에서 수행됩니다. 필터링을 빈번하게 수행하는 경우, 어노테이션 데이터를 포함하지 않는 WAR에 포함된 유틸리티 JAR 파일을 필터링하는 것입니다.)

Ignore-Scanning-Archives 및 Ignore-Scanning-Packages 특성을 사용하여 어노테이션 처리 중에 무시할 클래스의 서브세트를 지정합니다. Ignore-Scanning-Archives로 지정된 아카이브의 모든 클래스를 어노테이션 처리 중에 건너뜁니다. Ignore-Scanning-Packages로 지정된 패키지의 모든 클래스도 어노테이션 처리 중에 건너뜁니다.

Include-Scanning-Archives 및 Include-Scanning-Packages 특성을 사용하여 어노테이션 처리 중에 스캔할 클래스의 서브세트를 지정합니다. 두 특성 중 하나라도 지정된 경우 포함되는 클래스만 스캔되며, 다른 클래스는 무시됩니다.

Ignore-Scanning-Archives 및 Ignore-Scanning-Packages에 대한 값의 기본 세트는 app_server_root/propertiesamm.filter.properties 파일에서 제공합니다.
참고: Include-Scanning-Archives 및 Include-Scanning-Packages에 대한 기본값은 제공되지 않습니다.

특성 값은 Ignore-Scanning-Packages보다 낮은 수준의 제어를 제공하는 Ignore-Scanning-Archives와 마찬가지로 Include-Scanning-Packages보다 낮은 수준의 제어를 제공하는 Include-Scanning-Archives를 사용하여 어노테이션 처리의 범위에 대한 대략적인 제어와 세분화된 제어 모두를 제공합니다.

네 개 모든 특성의 구문은 쉼표로 구분된 값의 규칙을 따릅니다. 와일드카드 또는 정규식은 허용되지 않으며 값은 대소문자를 구분합니다.

포함 및 제외 특성을 동시에 사용하는 경우는 일반적이지는 않지만, 지원됩니다. 포함 특성을 제외 특성과 함께 지정하면 클래스가 포함될 때 처리 시 선택됩니다. Ignore-Scanning-Archives 및 Include-Scanning-Archives가 모두 지정된 경우 어노테이션 처리 중에 클래스가 스캔되지만 클래스가 Ignore-Scanning-Archives에서 지정한 아카이브가 아닌 Include-Scanning-Archives에서 지정한 아카이브에 있는 경우에만 수행됩니다. 마찬가지로 Ignore-Scanning-Archives 및 Include-Scanning-Packages가 지정된 경우 어노테이션 처리 중에 클래스가 스캔되지만, 클래스가 Ignore-Scanning-Packages에서 지정한 아카이브가 아닌 Include-Scanning-Packages에서 지정한 패키지에 있는 경우에만 수행됩니다.

amm.filter.properties 파일을 사용하여 지정된 옵션은 프로파일에서 글로벌로 적용됩니다. 해당 프로파일이 실행한 프로세스에서 나타나는 모든 애플리케이션은 지정된 옵션을 사용합니다. 시스템 특성으로 지정된 옵션은 특성이 설정되는 프로세스에 글로벌로 적용됩니다. 프로세스에서 나타나는 모든 애플리케이션은 지정된 옵션을 사용합니다.

Manifest 속성은 다음과 같은 세 가지 서로 다른 범위에서 지정할 수 있습니다.
  • 애플리케이션(EAR 파일)
  • 모듈(WAR/RAR/JAR 파일)
  • 웹 단편(JAR 파일)
모든 경우에 Manifest 속성은 모든 폐쇄 범위에 적용 가능합니다. 애플리케이션(EAR 파일) 속성으로 지정된 Manifest 속성은 모든 모듈 아카이브 및 단편 JAR 파일의 어노테이션 스캔에 적용됩니다. 모듈(WAR/RAR/JAR 파일)로 지정된 Manifest 속성은 모듈 내에서 어노테이션에 적용됩니다. 웹 단편(JAR 파일)으로 지정된 Manifest 속성은 해당 웹 단편에 적용됩니다.

다중 범위에 지정된 Manifest 속성은 추가적입니다. amm.filter.properties 시스템 특성을 사용하여 지정된 옵션과 Manifest 속성은 추가적입니다.

값의 기본 세트는 관리자가 변경하거나 다음 단계 중 하나로 기능이 보강될 수 있습니다.

프로시저

다음에 수행할 작업

애플리케이션을 다시 설치하십시오. 계속해서 배치가 느리면 무시할 추가 모듈과 Java 패키지를 지정하십시오.


주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_app_reduce_annot
파일 이름:trun_app_reduce_annot.html