Tópico anterior: Parâmetros de entradaPróximo tópico: Código Java no operador Chamar o Java


Código

List External Jar Paths?

Marque para fornecer uma lista de caminhos para os JARS externos necessários no campo Caminhos de Jar externo como expressões.

Desmarque para fornecer os caminhos para os JARs externos necessários como expressão, ou seja, como uma variável de conjunto de dados no campo External Jar Paths as Expression.

Essa caixa de seleção está selecionada por padrão.

External Jar Paths

Especifica a lista de caminhos para os JARs externos necessários para o código do método principal do operador, se houver algum.

O operador Chamar o Java carrega os JARs listados nesse campo. Qualquer JAR inserido nessa lista está disponível para o código Java executado pelo operador. As classes definidas nos JARs no nível de operador substituem as mesmas classes especificadas nos JARs no nível de categoria de operador.

Para cada caminho, você pode:

Recursos no CA Process Automation, incluindo recursos do usuário, são espelhados no intervalo de espelhamento do agente. Verifique se os JARs carregados nos recursos do usuário já estão espelhados antes de usá-los no operador Chamar o Java.

Arquivos de classe

Além dos JARS externos, você pode carregar arquivos .class da seguinte forma:

Se você especificar o caminho para um diretório (para carregar arquivos .class), digite-o como um caminho completo. Você também pode digitá-lo como um caminho relativo aos Recursos do usuário do CA Process Automation. Não digite o caminho como um caminho HTTP.

Especifique o caminho para um diretório para carregar arquivos .class, não arquivos JAR. Diferentemente dos arquivos .class, cada arquivo JAR requer um caminho separado que termine com o arquivo JAR (e não o diretório onde ele reside).

External Jar Paths as Expression

Especifica a variável do conjunto de dados de sequência de caracteres indexada que contém a lista de caminhos para os JARs externos necessários para o código do método principal do operador, se houver algum.

Enter Required Main Method?

Marque para fornecer o código Java no campo Required Main Method.

Desmarque para fornecer o código Java como uma variável do conjunto de dados no campo Required Main Method as Expression.

Essa caixa de seleção está selecionada por padrão.

Required Main Method

Especifica o texto do código Java do método principal. Você pode procurar para localizar um arquivo que contenha esse código. O método principal consiste em expressões e instruções Java normais. Você deve inicializar e usar objetos definidos no Java SDK ou nos JARs externos.

Observação: o CA Process Automation analisará o código e verificará sua validação estrutural quando você clicar em OK. Será exibida uma mensagem de erro se for encontrado um erro na estrutura do código.

Consulte Código Java no operador Chamar o Java.

Required Main Method as Expression

Especifica a variável do conjunto de dados que contém o conteúdo do método principal. O método principal consiste em expressões e instruções Java normais. Você deve inicializar e usar objetos definidos no Java SDK ou nos JARs externos. Nenhuma validação estrutural é executada.

Consulte Código Java no operador Chamar o Java.

Definir o carregador de classes de contexto?

Defina esse campo (como algo diferente do padrão) se o seu método principal/JARs externos dependerem do carregador de classes de contexto Java para carregar as classes. Defina o carregador de classe de contexto Java como o carregador de classe do operador ou o carregador de classe do módulo para evitar uma ClassCastException.

O operador Chamar o Java usa uma cadeia de carregadores de classe para carregar classes ao executar o código Java. Essa cadeia foi criada como a seguir (entre outros carregadores de classes):

  1. Carregador de classe do operador: carregador de classe que carrega as classes fornecidas no nível do operador
  2. Carregador de classe do módulo: carregador de classe que carrega as classes fornecidas no nível do módulo
  3. Carregador de classe de contexto
  4. Class.ForName java comum

O operador consulta cada carregador de classe antes de passar para o próximo (se a classe que não foi localizada).

Essa cadeia funcionará desde que o código que você executa não use explicitamente seu próprio carregador de classe para carregar uma classe. Nesse caso, consulte nos logs uma ClassCastException '.

Exemplo:

Considere se a classe MyChildXMLParser estende a classe MyParentXMLParser. O fragmento de código listado a seguir cria um MyParentXMLParser usando uma fábrica Java. Essa fábrica realmente carrega e cria um MyChildXMLParser, que é convertido em um objeto MyParentXMLParser:

public MyParentXMLParser() {
        super((MyParentXMLParser)ObjectFactory.createObject("com.ca.parser.MyChildXMLParser"));
          ....
     }

Neste exemplo, considere:

Para resolver esse problema, defina o campo 'Definir carregador de classe de contexto' como:

Observação: "0: Padrão" é usado em todos os outros casos em que o código Java não carrega explicitamente classes usando seu próprio carregador de classe. Esse valor é o valor padrão desse campo.

Ao definir o carregador de classe de contexto como o carregador de classe do operador Chamar o Java, as fábricas Java que são chamadas pelo código do usuário são forçadas a usar o carregador de classe do operador Chamar o Java. Essa ação remove a ClassCastException.