Classe ImqObject C++
Questa classe è astratta. Quando un oggetto di questa classe viene distrutto, viene automaticamente chiuso e la sua connessione a ImqQueueManager viene interrotta.

Questa classe è correlata alle chiamate MQI elencate nel riferimento incrociato ImqObject.
Attributi classe
- comportamento
- Controlla il funzionamento dell'apertura implicita.
- IMQ_IMPL_OPEN ( 8L )
- L'apertura implicita è consentita. Questa è l'opzione predefinita.
Attributi oggetto
- Data della modifica
- La data di modifica. Questo attributo è di sola lettura.
- Ora della modifica
- Il tempo di alterazione. Questo attributo è di sola lettura.
- ID utente alternativo
- L'id utente alternativo, fino a caratteri MQ_USER_ID_LENGTH. Il valore iniziale è una stringa null.
- ID di sicurezza alternativo
- L'id di sicurezza alternativo. Un valore binario (MQBYTE40) di lunghezza MQ_SECURITY_ID_LENGTH. Il valore iniziale è MQSID_NONE.
- Opzioni di chiusura
- Opzioni che si applicano quando un oggetto viene chiuso. Il valore iniziale è MQCO_NONE. Questo attributo viene ignorato durante le operazioni di riapertura implicite, dove viene utilizzato sempre un valore di MQCO_NONE.
- riferimento connessione
- Un riferimento a un oggetto ImqQueueManager che fornisce la connessione richiesta a un gestore di code (locale). Per un oggetto ImqQueueManager, è l'oggetto stesso. Il valore iniziale è zero.Nota: non confondere questa operazione con il nome gestore code che identifica un gestore code (possibilmente remoto) per una coda denominata.
- Descrizione
- Il nome descrittivo (fino a 64 caratteri) del gestore code, della coda, dell'elenco nomi o del processo. Questo attributo è di sola lettura.
- Nome
- Il nome (fino a 48 caratteri) del gestore code, della coda, dell'elenco nomi o del processo. Il valore iniziale è una stringa null. Il nome di una coda modello cambia dopo un' apertura nel nome della coda dinamica risultante.Nota: Un ImqQueueManager può avere un nome nullo, che rappresenta il gestore di code predefinito. Il nome cambia nel gestore code effettivo dopo una aperturariuscita. Un ImqDistributionList è dinamico e deve avere un nome nullo.
- oggetto gestito successivo
- Questo è l'oggetto successivo di questa classe, in nessun ordine particolare, con lo stesso riferimento di connessione di questo oggetto. Il valore iniziale è zero.
- Opzioni di apertura
- Le opzioni che vengono applicate quando un oggetto viene aperto. Il valore iniziale è MQOO_INQUIRE. Esistono due modi per impostare i valori appropriati:
- Non impostare le opzioni di apertura e non utilizzare il metodo open . IBM® MQ adatta automaticamente le opzioni di apertura e automaticamente apre, riapre e chiude gli oggetti come richiesto. Ciò può causare operazioni di riapertura non necessarie, poiché IBM MQ utilizza il metodo openFor e questo aggiunge solo opzioni di apertura in modo incrementale.
- Impostare le opzioni di apertura prima di utilizzare i metodi che risultano in una chiamata MQI (consultare Riferimento incrociato C++ e MQI ). Ciò garantisce che non si verifichino operazioni di riapertura non necessarie. Impostare esplicitamente le opzioni di apertura se è probabile che si verifichi uno dei potenziali problemi di riapertura (consultare Riapri ).
Se si utilizza il metodo open , è necessario assicurarsi che le opzioni di apertura siano prima appropriate. Tuttavia, l'uso del metodo open non è obbligatorio; IBM MQ presenta ancora lo stesso funzionamento del caso 1, ma in questa circostanza, il funzionamento è efficiente.
Zero non è un valore valido; impostare il valore appropriato prima di tentare di aprire l'oggetto. Questo può essere fatto utilizzando setOpenOptions ( lOpenOptions ) seguito da open ( ), oppure openFor ( lRequiredOpenOption ).Nota:- MQOO_OUTPUT viene sostituito con MQOO_INQUIRE durante il metodo open per un elenco di distribuzione, poiché MQOO_OUTPUT è l'unica opzione di apertura valida in questo momento. Tuttavia, si consiglia sempre di impostare MQOO_OUTPUT esplicitamente nei programmi applicativi che utilizzano il metodo open .
- Specificare MQOO_RESOLVE_NAMES se si desidera utilizzare gli attributi nome gestore code risolto e nome coda risolto della classe.
- stato aperto
- Se l'oggetto è aperto (TRUE) o chiuso (FALSE). Il valore iniziale è FALSE. Questo attributo è di sola lettura.
- oggetto gestito precedente
- L'oggetto precedente di questa classe, in nessun ordine particolare, ha lo stesso riferimento di connessione di questo oggetto. Il valore iniziale è zero.
- Identificativo gestore code
- L'identificativo del gestore code. Questo attributo è di sola lettura.
Costruttori
- ImqObject( );
- Il costruttore predefinito.
- ImqObject( const ImqObject & object );
- Il costruttore di copia. Lo stato aperto sarà FALSE.
Metodi di classe (pubblico)
- comportamento statico MQLONG ();
- Restituisce il comportamento.
- void setBehavior( const MQLONG behavior = 0 );
- Imposta il comportamento.
Metodi oggetto (pubblico)
- void operator = ( const ImqObject & oggetto );
- Esegue una chiusura se necessario e copia i dati dell'istanza da oggetto. Lo stato aperto sarà FALSE.
- ImqBoolean alterationDate( ImqString & data );
- Fornisce una copia della data di modifica. Restituisce TRUE in caso di esito positivo.
- ImqString alterationDate( );
- Restituisce la data di modifica senza alcuna indicazione di possibili errori.
- ImqBoolean alterationTime( ImqString & tempo );
- Fornisce una copia del tempo di modifica. Restituisce TRUE in caso di esito positivo.
- ImqString alterationTime( );
- Restituisce il tempo di modifica senza alcuna indicazione di possibili errori.
- ImqStringalternateUserId ( ) const ;
- Restituisce una copia dell' ID utente alternativo.
- ImqBooleansetAlternateUserId ( const char * id );
- Imposta l' ID utente alternativo. L' ID utente alternativo può essere impostato solo quando lo stato aperto è FALSE. Questo metodo restituisce TRUE se ha esito positivo.
- ImqBinary alternateSecurityId( ) const;
- Restituisce una copia dell' ID di sicurezza alternativo .
- ImqBoolean setAlternateSecurityId( const ImqBinary & token );
- Imposta l' ID sicurezza alternativo. L' ID di protezione alternativo può essere impostato solo quando lo stato aperto è FALSE. La lunghezza dati di token deve essere zero o MQ_SECURITY_ID_LENGTH. Restituisce TRUE in caso di esito positivo.
- ImqBoolean setAlternateSecurityId( const MQBYTE* token = 0);
- Imposta l' ID sicurezza alternativo. token può essere zero, che equivale a specificare MQSID_NONE. Se token è diverso da zero, deve indirizzare i byte MQ_SECURITY_ID_LENGTH dei dati binari. Quando si utilizzano valori predefiniti come MQSID_NONE, potrebbe essere necessario eseguire un cast per garantire la corrispondenza della firma; ad esempio, (MQBYTE *) MQSID_NONE.
L' ID di protezione alternativo può essere impostato solo quando lo stato aperto è TRUE. Restituisce TRUE in caso di esito positivo.
- ImqBoolean setAlternateSecurityId( const unsigned char * id = 0);
- Imposta l' ID sicurezza alternativo.
- ImqBoolean chiudi ();
- Imposta lo stato aperto su FALSE. Restituisce TRUE in caso di esito positivo.
- MQLONG closeOptions () const ;
- Restituisce le opzioni di chiusura.
- vuoto setCloseOptions ( const MQLONG options );
- Imposta le opzioni di chiusura.
- ImqQueueManager * connectionReference ( ) const;
- Restituisce il riferimento connessione.
- vuoto setConnectionReference ( ImqQueueManager & manager );
- Imposta il riferimento connessione.
- vuoto setConnectionReference ( ImqQueueManager * manager = 0 );
- Imposta il riferimento connessione.
- descrizione ImqBoolean ( ImqString & description ) = 0;
- Fornisce una copia della descrizione. Restituisce TRUE in caso di esito positivo.
- ImqString descrizione ();
- Restituisce una copia della descrizione senza alcuna indicazione di possibili errori.
- ImqBoolean name ( ImqString & name );
- Fornisce una copia del nome. Restituisce TRUE in caso di esito positivo.
- ImqString nome ();
- Restituisce una copia del nome senza alcuna indicazione di possibili errori.
- ImqBoolean setName ( const char * name = 0);
- Imposta il nome. Il nome può essere impostato solo quando lo stato di apertura è FALSE e, per un ImqQueueManager,, quando lo stato di connessione è FALSE. Restituisce TRUE in caso di esito positivo.
- ImqObject * nextManagedObject ( ) const;
- Restituisce il successivo oggetto gestito.
- ImqBoolean apri ();
- Modifica lo stato di apertura in TRUE aprendo l'oggetto come necessario, utilizzando tra gli altri attributi le opzioni di apertura e il nome. Questo metodo utilizza le informazioni di riferimento della connessione e il metodo di connessione ImqQueueManager se necessario, per garantire che lo stato della connessione ImqQueueManager sia VERO. Restituisce lo stato aperto.
- ImqBoolean openFor ( const MQLONG required - options = 0);
- Tenta di garantire che l'oggetto sia aperto con opzioni aperteo con opzioni aperte che garantiscono il funzionamento implicito dal valore del parametro required - options .Se required - options è zero, l'input è obbligatorio e qualsiasi opzione di input è sufficiente. Quindi, se le opzioni di apertura contengono già una delle seguenti opzioni:
- MQOO_INPUT_AS_Q_DEF
- MQOO_INPUT_CONDIVISO
- MQOO_INPUT_EXCLUSIVE
le opzioni di apertura sono già soddisfacenti e non vengono modificate; se le opzioni di apertura non contengono ancora alcuna di queste opzioni, MQOO_INPUT_AS_Q_DEF è impostata nelle opzioni di apertura.
Se required - options è diverso da zero, le opzioni richieste vengono aggiunte alle opzioni aperte ; se required - options è una di queste opzioni, le altre vengono reimpostate.
Se una delle opzioni di apertura viene modificata e l'oggetto è già aperto, l'oggetto viene chiuso temporaneamente e riaperto per modificare le opzioni di apertura.
Restituisce TRUE in caso di esito positivo. L'esito positivo indica che l'oggetto è aperto con le opzioni appropriate.
- MQLONG openOptions () const ;
- Restituisce le opzioni di apertura.
- ImqBooleansetOpenOptions ( const MQLONG options );
- Imposta le opzioni di apertura. Le opzioni di aperture possono essere impostate solo quando lo stato di apertura è FALSE. Restituisce TRUE in caso di esito positivo.
- ImqBoolean openStatus () const ;
- Restituisce lo stato aperto.
- ImqObject * previousManagedObject ( ) const;
- Restituisce l' oggetto gestito precedente.
- ImqBoolean queueManagerIdentifier( ImqString & id );
- Fornisce una copia dell' identificativo del gestore code. Restituisce TRUE in caso di esito positivo.
- ImqString queueManagerIdentifier( );
- Restituisce l' identificativo del gestore code senza alcuna indicazione di possibili errori.
Metodi oggetto (protetti)
- ImqBoolean closeTemporarily ();
- Chiude un oggetto in modo sicuro prima della riapertura. Restituisce TRUE in caso di esito positivo. Questo metodo presuppone che lo stato aperto sia TRUE.
- MQHCONN connectionHandle () const ;
- Restituisce MQHCONN associato al riferimento connessione. Questo valore è zero se non è presente alcun riferimento di connessione o se il gestore non è connesso.
- ImqBoolean inquire ( const MQLONG int - attr, MQLONG & valore );
- Restituisce un valore intero, il cui indice è un valore MQIA_ *. In caso di errore, il valore è impostato su MQIAV_UNDEFINED.
- ImqBoolean inquire ( const MQLONG char - attr, char * & buffer, const size_t lunghezza );
- Restituisce una stringa di caratteri, il cui indice è un valore MQCA_ *.Nota: entrambi questi metodi restituiscono solo un singolo valore di attributo. Se è richiesta una istantanea di più di un valore, in cui i valori sono congruenti tra loro per un istante, IBM MQ C++ non fornisce questa funzione ed è necessario utilizzare la chiamata MQINQ con i parametri appropriati.
- vuoto virtuale openInformationDisperse ( );
- Disperde le informazioni dalla sezione della variabile della struttura dati MQOD immediatamente dopo una chiamata MQOPEN.
- virtuale ImqBoolean openInformationPrepare ( );
- Prepara le informazioni per la sezione della variabile della struttura dati MQOD immediatamente prima di una chiamata MQOPEN e restituisce TRUE in caso di esito positivo.
- ImqBoolean imposta ( const MQLONG attr int, const MQLONG valore );
- Imposta un attributo numero intero IBM MQ .
- ImqBoolean set ( const MQLONG char - attr, const char * buffer, const size_t required - length );
- Imposta un attributo carattere IBM MQ .
- vuoto setNextManagedObject ( const ImqObject * oggetto = 0 );
- Imposta l' oggetto gestito successivo.
Attenzione: utilizzare questa funzione solo se si è certi che non interromperà l'elenco di oggetti gestiti.
- vuoto setPreviousManagedObject ( const ImqObject * oggetto = 0 );
- Imposta l' oggetto gestito precedente.
Attenzione: utilizzare questa funzione solo se si è certi che non interromperà l'elenco di oggetti gestiti.
Dati oggetto (protetti)
- MQHOBJ ohobj
- L'handle dell'oggetto IBM MQ (valido solo quando open status è TRUE).
- MQOD omqod
- La struttura dati MQOD integrata. La quantità di memoria assegnata per questa struttura dati è quella richiesta per un MQOD Versione 2. Esaminare il numero di versione (omqod.Version) e accedere agli altri campi nel modo seguente:
- MQOD_VERSION_1
- È possibile accedere a tutti gli altri campi in omqod .
- MQOD_VERSION_2
- È possibile accedere a tutti gli altri campi in omqod .
- MQOD_VERSION_3
- omqod.pmqod è un puntatore a un MQOD allocato dinamicamente, più grande. Non è possibile accedere ad altri campi in omqod . È possibile accedere a tutti i campi indirizzati da omqod.pmqod .Nota: omqod.pmqod.Version può essere inferiore a omqod.Version, a indicare che IBM MQ MQI client ha più funzionalità del server IBM MQ .
Codici di origine
- MQRC_ATTRIBUTO_BLOCCATO
- MQRC_INCONSISTENT_OBJECT_STATE
- RIFERIMENTO MQRC_NO_CONNECTION_DI
- MQRC_STORAGE_NON_DISPONIBILE
- MQRC_REOPEN_SAVED_CONTEXT_ERR
- (codici di errore da MQCLOSE)
- (codici motivo da MQCONN)
- (codici motivo da MQINQ)
- (codici motivo da MQOPEN)
- (codici motivo da MQSET)