Carregador de classe compartilhada Java

O carregador de classes compartilhado Java carrega todos os arquivos JAR que estão localizados dentro dos diretórios de classes compartilhadas. Para os servidores de integração que estão associados a um nó de integração, a ordem de precedência do carregamento é ditada pelos diretórios nos quais os arquivos JAR estão localizados. Para servidores de integração independentes, os arquivos JAR são colocados no diretório de classes compartilhadas sob o diretório de trabalho do servidor de integração para o servidor de integração.

A maneira na qual os arquivos JAR são carregados depende se o servidor de integração está associado a um nó de integração ou se é independente de um nó de integração:

Antes de iniciar seus nós de integração ou servidores de integração, certifique-se de que a variável de ambiente CLASSPATH não esteja definida, pois ela pode quebrar o isolamento do carregador de classes. Se essa variável for definida, ela modificará o carregador de classe Java™, que tem precedência sobre todos os outros carregadores de classe, e poderão ocorrer problemas inesperados. IBM® MQ É possível definir o CLASSPATH para incluir valores que possam interferir nos JARs que você implanta ao executar o comando setmqenv.

  • Servidores de integração associados a um nó de integração:
    Os arquivos JAR são carregados na seguinte ordem de precedência:
    1. Os arquivos JAR que são colocados no diretório shared-classes do servidor de integração permitem que apenas um único servidor de integração definido para acessá-los. Os arquivos que são colocados aqui são carregados primeiro. Nenhum outro servidor de integração pode usá-los.
      Inclua os arquivos JAR no seguinte diretório:
      • Para Windows

        workpath\config\<my_int_node_name>\<my_int_server_label>\shared-classes

      • Para Linux®

        workpath/config/<my_int_node_name>/<my_int_server_label>/shared-classes

      Certise-se de que o nome do nó de integração, e quaisquer servidores de integração que sejam criados, contenham apenas caracteres válidos em seu sistema de arquivos. Você também pode precisar criar a estrutura de diretório necessária.

      Todos os arquivos colocados no diretório shared-classes do servidor de integração que têm uma extensão .jar são carregados e disponibilizados no ambiente Java para esse servidor de integração. Os arquivos JAR nesse diretório têm precedência sobre arquivos JAR no diretório shared-classes do nó de integração.

      Nota: Se o diretório do servidor de integração shared-classes estiver vazio quando o servidor de integração for excluído, o diretório será automaticamente removido.
    2. Os arquivos JAR que são colocados no diretório shared-classes do nó de integração permitem apenas um único nó de integração definido para acessá-los. Os arquivos que são colocados aqui são carregados após quaisquer arquivos que forem colocados no diretório shared-classes do servidor de integração. Nenhum outro nó de integração pode usá-los.
      Inclua os arquivos JAR no seguinte diretório:
      • Para Windows

        workpath\config\<my_int_node_name>\shared-classes

      • Para Linux

        workpath/config/<my_int_node_name>/shared-classes

        Assegure que o nome do nó de integração contenha somente caracteres que sejam válidos em seu sistema de arquivos. Você também pode precisar criar a estrutura de diretório necessária.

        Todos os arquivos colocados no diretório do nó de integração shared-classes que possuem uma extensão .jar , são carregados e disponibilizados no ambiente Java para todos os servidores de integração nesse nó de integração. Os arquivos JAR nesse diretório têm precedência sobre arquivos JAR no diretório shared-classes do nível superior.

        Nota: Se o diretório do nó de integração shared-classes estiver vazio quando o nó de integração for excluído, o diretório será removido automaticamente.
    3. Arquivos JAR que são colocados no diretório de nível superior shared-classes são disponibilizados para todos os nós de integração e todos os servidores de integração. Os arquivos que são colocados aqui são carregados após quaisquer arquivos colocados no diretório shared-classes do nó de integração.

      Inclua os arquivos JAR no seguinte diretório:

      • Para Windows

        workpath\shared-classes

      • Para Linux

        workpath/shared-classes

  • Servidores de integração independentes:

    O carregador de classes compartilhado Java carrega todos os arquivos JAR que estão localizados dentro dos diretórios de classes compartilhadas. Os arquivos JAR são colocados no diretório de classes compartilhadas sob o diretório de trabalho do servidor de integração para o servidor de integração. Por exemplo, se o diretório de trabalho passado para o comando IntegrationServer na inicialização for /Users/user1/workDir1, o diretório de classes compartilhadas será /Users/user1/workDir1/shared-classes.

    Diretórios adicionais podem ser adicionados ao caminho de pesquisa de classes compartilhadas usando o comando additionalSharedClassesDirectories configuração noserver.conf.yaml arquivo. Diretórios individuais podem ser adicionados ao caminho diretamente:
    additionalSharedClassesDirectories: '/home/aceuser/generic/extra-classes’
    As bibliotecas compartilhadas podem ser referenciadas pelo nome, o que faz com que todos os JARs na biblioteca compartilhada nomeada sejam carregados pelo classloader compartilhado. As bibliotecas compartilhadas que são denominadas desta forma não são utilizáveis por aplicativos no servidor, uma vez que a biblioteca compartilhada é reservada para uso pelo classloader compartilhado. Exemplo:
    additionalSharedClassesDirectories: '{SharedJavaLibrary}'
    Vários diretórios e bibliotecas compartilhadas podem ser adicionados usando o caractere “:” como um separador. Exemplo:
    additionalSharedClassesDirectories: '{SharedJavaLibrary1}:{SharedJavaLibrary2}:/home/aceuser/generic/extra-classes'

    Para obter mais informações sobre como configurar um servidor de integração definindo propriedades no arquivo server.conf.yaml , consulte Configuração de um servidor de integração modificando o arquivo server.conf.yaml - Documentação do IBM.