Messaggio Pubblica

Il messaggio di comando Pubblica viene inviato da un autore (publisher) ad un broker o da un broker ad un sottoscrittore (subscriber), per pubblicare le informazioni su uno o più determinati argomenti.

Questo messaggio viene inviato alla coda di input di un flusso di messaggi che contiene un nodo Publication. Si deve disporre dell'autorizzazione ad inserire un messaggio in questa coda e a pubblicare sull'argomento o gli argomenti specificati.

Se l'utente dispone dell'autorizzazione solo su alcuni argomenti, non su tutti, vengono pubblicati solo quegli argomenti; una risposta di avvertenza indica gli argomenti non pubblicati.

Se un sottoscrittore (subscriber) ha alcune sottoscrizioni corrispondenti, il broker inoltra il messaggio di pubblicazione alle code di sottoscrittori (subscriber) definite nei corrispondenti messaggi di comandi Registra sottoscrittore (subscriber).

Per informazioni dettagliate sui parametri del descrittore di messaggi (MQMD), necessari quando si invia un messaggio di comando al broker, ed utilizzati quando un broker inoltra una pubblicazione ad un sottoscrittore (subscriber), fare riferimento a Messaggio Risposta del broker.

Il broker inoltra il messaggio di pubblicazione agli altri broker nella rete che hanno sottoscrizioni corrispondenti, a meno che non è una pubblicazione locale.

I dati di pubblicazione, se presenti, sono inclusi nel contenuto del messaggio. I dati possono essere descritti in una cartella <mcd> nel campo NameValueData dell'intestazione MQRFH2.

Proprietà

<Command> (MQPSC_COMMAND)
Il valore è Publish(MQPSC_PUBLISH).

Questa proprietà deve essere specificata.

<Topic> (MQPSC_TOPIC)
Il valore è una stringa che contiene un argomento che classifica questa pubblicazione. Non è consentito l'uso di caratteri wildcard.

Questa proprietà deve essere specificata e può essere ripetuta per tutti gli eventuali argomenti necessari.

<SubPoint> (MQPSC_SUBSCRIPTION_POINT)
Il punto di sottoscrizione su cui viene pubblicata la pubblicazione.

Questa proprietà non deve essere inclusa in un messaggio di pubblicazione inviato al broker, ma viene aggiunta automaticamente ai messaggi di pubblicazione dal broker prima che tali messaggi vengano inviati agli eventuali sottoscrittori (subscriber). Il valore della proprietà <SubPoint> è il valore dell'attributo Punto di sottoscrizione del nodo Publication che gestisce la pubblicazione.

<PubOpt> (MQPSC_PUBLICATION_OPTION)
La proprietà delle opzioni di pubblicazione può assumere i seguenti valori:
RetainPub  
(MQPSC_RETAIN_PUB)

Il broker conserva una copia della pubblicazione. Se questa opzione non è impostata, la pubblicazione viene eliminata non appena il broker la invia a tutti i relativi sottoscrittori (subscriber) attuali.

IsRetainedPub  
(MQPSC_IS_RETAINED_PUB)

Può essere impostata solo da un broker. Questa pubblicazione è stata conservata dal broker. Il broker imposta questa opzione per notificare ad un sottoscrittore (subscriber) che la pubblicazione è già stata pubblicata ed è stata conservata, purché la sottoscrizione sia stata registrata con l'opzione InformIfRetained. Viene impostata solo in risposta ad un messaggio di comando Registra sottoscrittore (subscriber) o Richiedi aggiornamento. Questa opzione non viene impostata per le pubblicazioni conservate che vengono inviate direttamente ai sottoscrittori (subscriber).

Local  
(MQPSC_LOCAL)

La presente opzione indica al broker che questa pubblicazione non deve essere inviata ad altri broker. Tutti i sottoscrittori (subscriber) che si sono registrati su questo broker ricevono questa pubblicazione se hanno sottoscrizioni corrispondenti.

OtherSubsOnly  
(MQPSC_OTHER_SUBS_ONLY)

Questa opzione consente un'elaborazione semplificata di applicazioni di tipo conferenza, in cui un autore (publisher) è anche un sottoscrittore (subscriber) dello stesso argomento. Indica al broker di non inviare la pubblicazione alla coda del sottoscrittore (subscriber) dell'autore (publisher) anche se dispone di una sottoscrizione corrispondente. Tale coda è composta dai relativi QMgrName, QName e CorrelId facoltativo, come descritto di seguito.

CorrelAsId  
(MQPSC_CORREL_ID_AS_IDENTITY)

CorrelId in MQMD (che non deve essere zero) fa parte della coda del sottoscrittore (subscriber) dell'autore (publisher), in applicazioni in cui l'autore (publisher) è anche un sottoscrittore (subscriber).

None  
(MQPSC_NONE)

Tutte le opzioni assumono i relativi valori predefiniti. Ciò ha lo stesso effetto di omettere la proprietà delle opzioni di pubblicazione. Se sono specificate altre opzioni in contemporanea, None viene ignorato.

Se questa proprietà è omessa, il valore predefinito è che non viene impostata alcuna opzione di pubblicazione.

<PubTime> (MQPSC_PUBLISH_TIMESTAMP)
Il valore è l'impostazione facoltativa da parte dell'autore (publisher) di data/ora della pubblicazione. E' possibile utilizzare un massimo di 16 caratteri nel formato:
   AAAAMMGGHHMMSSTH

in base all'UT (Universal Time). Queste informazioni non vengono verificate dal broker prima di essere inviate ai sottoscrittori (subscriber).

<SeqNum> (MQPSC_SEQUENCE_NUMBER)
Il valore è l'impostazione facoltativa da parte dell'autore (publisher) del numero di sequenza.

Deve essere incrementato di 1 ad ogni pubblicazione. Tuttavia, questo non è verificato dal broker, che trasmette semplicemente l'informazione ai sottoscrittori (subscriber).

Se, su diversi broker interconnessi, vengono effettuate pubblicazioni sullo stesso argomento, è responsabilità degli autori (publisher) assicurare che i numeri di sequenza, se utilizzati, siano significativi.

<QMgrName> (MQPSC_Q_MGR_NAME)
Il valore è una stringa contenente il nome del gestore code del sottoscrittore (subscriber) dell'autore (publisher), in applicazioni in cui l'autore (publisher) è anche un sottoscrittore (subscriber); fare riferimento a OtherSubsOnly.

Se questa proprietà è omessa, il valore predefinito è il nome ReplyToQMgr nel descrittore di messaggi (MQMD). Se il nome risultante è vuoto, viene assunto come valore predefinito il nome del gestore code del broker.

<QName> (MQPSC_Q_NAME)
Il valore è una stringa contenente il nome della coda del sottoscrittore (subscriber) dell'autore (publisher), in applicazioni in cui l'autore (publisher) è anche un sottoscrittore (subscriber); fare riferimento a OtherSubsOnly.

Se questa proprietà è omessa, il valore predefinito è il nome ReplyToQ nel descrittore di messaggi (MQMD), che non deve essere vuoto se presente l'impostazione per OtherSubsOnly.

Esempio

Di seguito sono riportati degli esempi di NameValueData per un messaggio di comando Pubblica.

Il primo esempio è relativo ad una pubblicazione inviata dal simulatore dell'incontro nell'applicazione di esempio per indicare l'inizio di un incontro.
 <psc>
  <Command>Publish</Command>
  <Topic>Sport/Soccer/Event/MatchStarted</Topic>
 </psc>
Il secondo esempio è relativo ad una pubblicazione conservata. Viene pubblicato il punteggio aggiornato nell'incontro tra Team1 e Team2.
 <psc>
  <Command>Publish</Command>
  <PubOpt>RetainPub</PubOpt>
  <Topic>Sport/Soccer/State/LatestScore/Team1 Team2</Topic>
 </psc>
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
aq06980_