Criando um fragmento de pacote configurável OSGi para as classes do fornecedor

Se o aplicativo usar as classes IBM ou do fornecedor que são fornecidas com o JRE, você deverá criar um fragmento do pacote configurável OSGi para disponibilizar as classes na estrutura do OSGi

Sobre Esta Tarefa

A partir do , a estrutura do OSGi possui regras mais rígidas que controlam que classes podem ser carregadas a partir do JRE.

Qualquer pacote prefixado com java é carregado pela estrutura OSGi, conforme exigido pelo aplicativo. Se um aplicativo utilizar um pacote IBM ou do fornecedor que seja fornecido com o JRE, como com.ibm.misc, você deverá criar um pacote configurável OSGi de middleware para tornar essas classes disponíveis para a estrutura do OSGi. Se você não o fizer, as transações serão encerradas de forma anormal com um código AJ05 e errosjava.lang.ClassNotFoundException serão gravados no log de erros do servidor JVM e no log do sistema CICS.

Não é necessário concluir estas etapas para as classes Java do CICS, porque as classes do JCICS são automaticamente disponibilizadas na estrutura do OSGi.

Procedimento

  1. Para cada pacote IBM ou de fornecedor necessário para o aplicativo, crie um fragmento do pacote configurável OSGi para exportar o pacote. O exemplo a seguir mostra o que o manifesto do fragmento do pacote configurável OSGi pode conter:
    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

    O Fragment-Host define que o fragmento do pacote configurável OSGi estenda o pacote configurável do sistema na estrutura do OSGi. O Export-Package lista os pacotes que são exportados; neste exemplo, o pacote que começa com com.ibm.misc é exportado. Se você utilizar o Eclipse, ignore o erro que será sinalizado.

  2. Altere o aplicativo para incluir uma importação para o pacote exportado no manifesto de pacote configurável OSGi apropriado. Cada pacote configurável OSGi que requer uma classe de um pacote IBM ou de fornecedor deve declarar o pacote no manifesto.
  3. Criar um projeto de Pacote Configurável do CICS para fragmentos do pacote configurável OSGi. É possível incluir um ou muitos fragmentos do pacote configurável OSGi no projeto, dependendo de desejar-se ou não gerenciar o ciclo de vida dos fragmentos em conjunto. É uma melhor prática manter o pacote configurável do middleware separado do aplicativo para que os administradores possam gerenciar o ciclo de vida separadamente no CICS.

Resultados

Você criou um projeto de pacote configurável do CICS que contém um ou mais fragmentos do pacote configurável OSGi que exportam pacotes do JRE. Quando implementado, esse pacote de middleware garante que seu aplicativo possa ser executado em um servidor JVM do .

O que Fazer Depois

Implemente o aplicativo e o pacote configurável do middleware. Você deve assegurar que o perfil do JVM para o servidor JVM de destino especifique o pacote configurável do middleware na opção OSGI_BUNDLES.