Argomento precedente: Parametri di inputArgomento successivo: Codice Java nell'operatore Richiama Java


Codice

List External Jar Paths? (Elencare i percorsi file JAR esterni?)

Selezionare quest'opzione per fornire un elenco dei percorsi ai file .jar esterni richiesti nel campo Percorsi jar esterni come espressioni.

Deselezionare quest'opzione per fornire i percorsi ai file JAR esterni richiesti come un'espressione, ovvero come una variabile del set di dati nel campo External Jar Paths as Expression (Percorsi file JAR esterni come espressione).

Questa casella di controllo è selezionata per impostazione predefinita.

External Jar Paths (Percorsi file JAR esterni)

Specifica l'elenco dei percorsi ai file JAR esterni richiesti dal codice del metodo principale dell'operatore, se presente.

L'operatore Richiama Java carica i file JAR elencati in questo campo. Qualsiasi file jar inserito nell'elenco è disponibile al codice Java eseguito dall'operatore. Le classi definite nei file JAR a livello di operatore sostituiscono le stesse classi specificate nei file JAR a livello della categoria di operatori.

Per ogni percorso, è possibile:

Le risorse contenute in CA Process Automation, incluse le risorse utente, vengono sottoposte a mirroring entro il relativo intervallo dell'agente. Verificare che i file JAR caricati nelle risorse utente siano già stati sottoposti al mirroring prima di utilizzarli nell'operatore Richiama Java.

File .class

In aggiunta ai file JAR esterni, è possibile caricare file .class come indicato di seguito:

Se si specifica il percorso di una directory (per caricare i file .class), inserirlo come percorso completo. È anche possibile inserirlo come percorso relativo alle risorse utente di CA Process Automation. Non inserire il percorso come un percorso HTTP.

Specificare il percorso di una directory per caricare i file .class, non i file JAR. A differenza dei file .class, ciascun file JAR richiede un percorso separato che finisce con il file JAR (non la directory in cui risiede).

External Jar Paths as Expression (Percorsi file JAR esterni come espressione)

Specifica la variabile del set di dati della stringa indicizzata contenente l'elenco dei percorsi dei file JAR esterni richiesti dal codice del metodo principale dell'operatore, se presente.

Immettere il metodo principale richiesto?

Selezionare quest'opzione per fornire il codice Java nel campo Metodo principale richiesto.

Deselezionare quest'opzione per fornire il codice Java come una variabile del set di dati nel campo Metodo principale come espressione.

Questa casella di controllo è selezionata per impostazione predefinita.

Metodo principale richiesto

Specifica il testo del codice Java del metodo principale. È possibile fare clic sul pulsante Sfoglia per individuare tutti i file che contengono il codice. Il metodo principale è costituito da istruzioni ed espressioni Java normali. È necessario inizializzare e utilizzare gli oggetti definiti nel Java SDK o nei file JAR esterni.

Nota: CA Process Automation analizza il codice e verifica la relativa convalida strutturale quando si fa clic su OK. Un messaggio di errore compare se nella struttura del codice viene individuato un errore.

Consultare la sezione Codice Java nell'operatore Richiama Java.

Metodo principale richiesto come espressione

Specifica la variabile del set di dati che contiene il contenuto del metodo principale. Il metodo principale è costituito da istruzioni ed espressioni Java normali. È necessario inizializzare e utilizzare gli oggetti definiti nel Java SDK o nei file JAR esterni. Non viene eseguita alcuna convalida strutturale.

Consultare la sezione Codice Java nell'operatore Richiama Java.

Imposta caricatore di classe di contesto?

Impostare questo campo su un valore diverso da quello predefinito se il metodo principale/i file jar esterni si basano sul caricatore di classe di contesto Java per il caricamento delle classi. Impostare il caricatore di classe di contesto Java sul caricatore di classe di operatore o su quello di modulo per evitare un oggetto ClassCastException.

L'operatore Richiama Java utilizza una catena di caricatori di classe per caricare le classi durante l'esecuzione del codice Java. Questa catena è stata progettata come segue (tra gli altri caricatori di classe):

  1. Caricatore di classe di operatore: caricatore di classe che esegue il caricamento delle classi fornite a livello di operatore
  2. Caricatore di classe di modulo: caricatore di classe che esegue il caricamento delle classi fornite a livello di modulo
  3. Caricatore di classe di contesto
  4. java Class.ForName regolare

L'operatore consulta ciascun caricatore di classe prima di passare al successivo, nel caso in cui la classe non venga trovata.

Questa catena funziona a condizione che il codice eseguito non utilizzi esplicitamente il proprio caricatore di classe per caricare una classe. In questo caso, nei log è presente un elemento ClassCastException.

Esempio:

Considerare una classe MyChildXMLParser che estende una classe MyParentXMLParser. Il seguente frammento di codice elencato crea una classe MyParentXMLParser mediante una factory Java. Questa factory carica e crea effettivamente un oggetto MyChildXMLParser, di cui viene quindi eseguito il cast in MyParentXMLParser:

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

In questo esempio, considerare:

Per risolvere questo problema, configurare il campo Imposta caricatore di classe di contesto? su uno di questi valori:

Nota: 0 : Valore predefinito è utilizzato in tutti gli altri casi in cui il codice Java non carica esplicitamente le classi mediante il proprio caricatore di classe. Questo è il valore predefinito del campo.

Impostare il caricatore di classe di contesto sul caricatore di classe dell'operatore Richiama Java affinché le factory Java chiamate dal codice dell'utente utilizzino il caricatore di classe dell'operatore Richiama Java. In questo modo si rimuove ClassCastException.