Configurazione di IBM MQ classes for JMS per l'utilizzo delle uscite canale

Un'applicazione IBM® MQ classes for JMS può utilizzare la sicurezza del canale, inviare e ricevere uscite sul canale MQI che viene avviato quando l'applicazione si connette a un gestore code. L'applicazione può utilizzare uscite scritte in Java, C o C + +. L'applicazione può anche utilizzare una sequenza di uscite di invio o ricezione eseguite in successione.

Le seguenti proprietà vengono utilizzate per specificare un'uscita di invio o una sequenza di uscite di invio, utilizzata da una connessione JMS :
  • La proprietà SENDEXIT di un oggetto MQConnectionFactory .
  • La sendexit proprietà di una specifica di attivazione utilizzata dall'adattatore di risorse per la comunicazione in entrata IBM MQ
  • La proprietà di un sendexit ConnectionFactory usato dall'adattatore di risorse per la comunicazione in uscita IBM MQ
Il valore della proprietà è una stringa che comprende uno o più elementi separati da virgole. Ogni voce identifica un'uscita di invio in uno dei modi seguenti:
  • Il nome di una classe che implementa l'interfaccia WMQSendExit per un'uscita di invio scritta in Java.
  • Una stringa nel formato libraryNameentryPointName) per un'uscita di invio scritta in C o C++.
In modo simile, le seguenti proprietà specificano l'uscita di ricezione, o la sequenza di uscite di ricezione, utilizzata da una connessione:
  • La proprietà RECEXIT di un oggetto MQConnectionFactory .
  • La receiveexit proprietà di una specifica di attivazione utilizzata dall'adattatore di risorse per la comunicazione in entrata IBM MQ
  • La proprietà di un receiveexit ConnectionFactory usato dall'adattatore di risorse per la comunicazione in uscita IBM MQ
Le seguenti proprietà specificano l'uscita di sicurezza utilizzata da una connessione:
  • La proprietà SECEXIT di un oggetto MQConnectionFactory .
  • La securityexit proprietà di una specifica di attivazione utilizzata dall'adattatore di risorse per la comunicazione in entrata IBM MQ
  • La proprietà di un securityexit ConnectionFactory usato dall'adattatore di risorse per la comunicazione in uscita IBM MQ

Per MQConnectionFactories, è possibile impostare le proprietà SENDEXIT, RECEXIT e SECEXIT utilizzando lo strumento di amministrazione IBM MQ JMS o IBM MQ Explorer. In alternativa, un'applicazione può impostare le proprietà richiamando i metodi setSendExit(), setReceiveExit()e setSecurityExit() .

Le uscite canale vengono caricate dal proprio programma di caricamento classi. Per trovare un'uscita canale, il programma di caricamento classi ricerca le seguenti ubicazioni nell'ordine specificato.
  1. Il percorso classe specificato dalla proprietà com.ibm.mq.cfg.ClientExitPath.JavaExitsClasspath o dall'attributo JavaExitsClassPath nella sezione Canali del file di configurazione del client IBM MQ .
  2. [Obsoleto]Il percorso della classe specificato dalla proprietà di sistema Java com.ibm.mq.exitClasspath. Notare che questa proprietà è ora obsoleta.
  3. La directory IBM MQ esce, come mostrato nella Tabella 1. Il programma di caricamento classi ricerca nella directory i file di classe che non sono compressi nei file JAR ( Java archive). Se l'uscita del canale non viene trovata, il programma di caricamento classe ricerca i file JAR nella directory.
    Tabella 1. La IBM MQ directory exit
    Piattaforma Directory
    [AIX][Linux]AIX® and Linux®
    /var/mqm/exits (uscite canale a 32 bit)
    /var/mqm/exits64
    (uscite canale a 64 bit)
    [ Windows]Windows dir_dati_installazione\exits

    dove install_data_dir è la directory scelta per i file di dati IBM MQ durante l'installazione. La directory predefinita è C:\ProgramData\IBM\MQ.

Nota: se un'uscita del canale esiste in più di un'ubicazione, IBM MQ classes for JMS carica la prima istanza che trova.

Il parent del programma di caricamento classi è il programma di caricamento classi utilizzato per caricare IBM MQ classes for JMS. È quindi possibile per il programma di caricamento classi parent caricare un'exit del canale se non è possibile trovarlo in una delle ubicazioni precedenti. Tuttavia, quando si sta utilizzando IBM MQ classes for JMS in un ambiente come un server delle applicazioni JEE , non è possibile influenzare la scelta del programma di caricamento classi parent e quindi il programma di caricamento classi deve essere configurato impostando la Java proprietà di sistema com.ibm.mq.cfg.ClientExitPath.JavaExitsClasspath sul server delle applicazioni.

Se l'applicazione è in esecuzione con Java security manager abilitato, il file di configurazione della politica utilizzato dall'ambiente di runtime Java in cui è in esecuzione l'applicazione deve disporre delle autorizzazioni per caricare una classe di uscita del canale. Per informazioni su come fare, vedere Esecuzione di classi IBM MQ per applicazioni JMS in Java Security Manager.

Le interfacce MQSendExit, MQReceiveExite MQSecurityExit fornite con le versioni precedenti a IBM WebSphere® MQ 7.0 sono ancora supportate. Se si utilizzano uscite di canale che implementano queste interfacce, com.ibm.mq.jar deve essere presente nel percorso di classe.

Per informazioni su come scrivere le uscite di canale in C, vedere Programmi di uscita di canale per canali di messaggistica. I programmi di uscita dal canale scritti in C o C++ devono essere memorizzati nella directory indicata nella Tabella 1.

Se l'applicazione utilizza una tabella di definizione del canale del client (CCDT) per connettersi a un gestore di code, vedere Utilizzo di una tabella di definizione del canale del client con le classi IBM MQ per JMS.