애플리케이션이 JRE와 함께 제공되는 IBM 또는 벤더 클래스를 사용하는 경우 OSGi 프레임워크에서 클래스를 사용할 수 있도록 OSGi 번들 단편을 작성해야 합니다.
이 태스크 정보
CICS® TS 5.1부터 OSGi 프레임워크에는 JRE에서 로드될 수 있는 클래스를 제어하는 보다 엄격한 규칙이 있습니다.
OSGi 프레임워크는 애플리케이션에서 요구하는 대로
접두부 java가 포함된 모든 패키지를 로드합니다. 애플리케이션이
JRE와 함께 제공되는 IBM 또는 벤더 패키지(예: com.ibm.misc)를 사용하는 경우
OSGi 프레임워크에서 이러한 클래스를 사용할 수 있도록 미들웨어 OSGi 번들을 작성해야 합니다.
그렇지 않은 경우 AJ05 코드 및 java.lang.ClassNotFoundException 오류로 이상 종료된 트랜잭션이
JVM 서버 로그 및 CICS 시스템 로그에 기록됩니다.
JCICS 클래스가 자동으로
OSGi 프레임워크에서 사용 가능하게 되므로 CICS Java 클래스의 경우 이러한 단계를 완료할 필요가 없습니다.
프로시저
- 애플리케이션에 필요한 각 IBM 또는 벤더 패키지에 대해 패키지를 내보낼 OSGi 번들 단편을 작성하십시오. 다음 예제는 OSGi 번들 단편의 Manifest에 포함될 수 있는 항목을 표시합니다.
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Extension
Bundle-SymbolicName: com.ibm.example.extension
Bundle-Version: 1.0.0
Bundle-Vendor: IBM
Fragment-Host: system.bundle; extension:=framework
Export-Package: com.ibm.misc
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Fragment-Host는 OSGi 번들 단편이 OSGi 프레임워크의 시스템 번들을 확장함을 지정합니다.
Export-Package는 내보내는 패키지를 나열합니다. 이 예제에서는 com.ibm.misc로 시작하는 패키지를 내보냅니다.
Eclipse를 사용하는 경우 플래그 지정된 오류를 무시하십시오.
- 애플리케이션을 변경하여 적절한 OSGi 번들 Manifest에 내보낸 패키지에 대한 가져오기를 추가하십시오. IBM 또는 벤더 패키지의 클래스가 필요한 각 OSGi 번들은 Manifest에 패키지를 선언해야 합니다.
- OSGi 번들 단편에 대한 CICS 번들 프로젝트를 작성하십시오.
단편의 라이프사이클을 함께 관리할지 여부에 따라 프로젝트에 하나 또는 다수의 OSGi 번들 단편을 포함할 수 있습니다. 관리자가 CICS의 라이프사이클을 별도로 관리할 수 있도록 미들웨어 번들을 애플리케이션에서 분리하는 것이 가장 좋습니다.
결과
패키지를 JRE에서 내보내는 하나 이상의 OSGi 번들 단편이
포함된 CICS 번들 프로젝트를 작성했습니다. 배치된 경우 이 미들웨어 번들은
애플리케이션이
CICS TS 5.1 JVM 서버에서
실행될 수 있도록 합니다.
다음에 수행할 작업
애플리케이션 및 미들웨어 번들을 배치하십시오. 대상 JVM 서버에 대한
JVM 프로파일이
OSGI_BUNDLES 옵션에 미들웨어 번들을 지정하는지 확인해야 합니다.