WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 Sistemi operativi: AIX, HP-UX, Linux, Solaris, Windows

Sovrascrittura delle impostazioni correnti del programma di output

Le impostazioni del profilo produzione del programma di output possono essere modificate dagli event consumer.

Perché e quando eseguire questa attività

Quando si invia un evento, è possibile specificare le opzioni che sostituiscono la modalità di transazione o la modalità di sincronizzazione correnti, o entrambe, attualmente configurate per il programma di output. Queste impostazioni vengono definite inizialmente da un amministratore nel profilo produzione del programma di output, ma possono essere modificate in un secondo momento dagli event consumer.

Un programma di output potrebbe non supportare tutte le modalità di transazione e di sincronizzazione. Le modalità disponibili sono soggette alle seguenti limitazioni: Se si tenta di utilizzare una modalità non supportata, il programma di output genera un'eccezione TransactionModeNotSupportedException o SynchronizationModeNotSupportedException.

Passi per questa attività

Per sovrascrivere le impostazioni del programma di output, utilizzare il metodo sendEvent(CommonBaseEvent, int, int).
String eventId = emitter.sendEvent(event,
                                   synchronizationMode,
                                   transactionMode);
I parametri sono i seguenti:
event
L'oggetto event (un'istanza di CommonBaseEvent) che si desidera inviare.
synchronizationMode
Una costante intera definita dall'interfaccia SynchronizationMode. Deve essere una delle seguenti costanti:
  • SynchronizationMode.ASYNCHRONOUS (invia l'evento in modo asincrono)
  • SynchronizationMode.SYNCHRONOUS (invia l'evento in modo sincrono)
  • SynchronizationMode.DEFAULT (utilizza l'impostazione corrente del programma di output)
transactionMode
Una costante intera definita dall'interfaccia TransactionMode:
  • TransactionMode.NEW (invia l'evento in una nuova transazione)
  • TransactionMode.SAME (invia l'evento nella transazione corrente)
  • TransactionMode.DEFAULT (utilizza l'impostazione corrente del programma di output)

Risultato

L'evento viene inviato con le opzioni specificate, Queste opzioni sono valide solo per il singolo evento in fase di invio; non viene apportata alcuna modifica alle impostazioni del programma di output ed i successivi inoltri di evento non sono influenzati.

Il valore restituito, eventId, è un identificativo univoco a livello globale dell'evento (il valore del campo globalInstanceId di CommonBaseEvent). Se l'evento non ha un'identificativo globale dell'istanza (globalInstanceId) quando se ne esegue l'inoltro, il programma di output ne assegna uno automaticamente.

Nota: inoltrare un evento ad un programma di output non garantisce che l'evento venga inviato al server degli eventi, poiché le impostazioni del filtro potrebbero causare l'eliminazione dell'evento. Una chiamata con esito positivo di sendEvent() significa solo che l'evento è stato correttamente elaborato dal programma di output.

Esempio

Nell'esempio seguente viene sovrascritta l'impostazione del programma di output, per inviare un evento in una nuova transazione, ma non la modalità di sincronizzazione:
String eventId = sendEvent(event,
                           SynchronizationMode.DEFAULT,
                           TransactionMode.NEW);

Task topic

Condizioni di utilizzo | Valuta questa pagina

Timestamp iconUltimo aggiornamento: 5 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc.nl1_6.0.1\doc\tcei_admin_overrideEmitterSettings.html

(C) Copyright IBM Corporation 2005. Tutti i diritti riservati.
Questo information center è sviluppato con tecnologia Eclipse. (http://www.eclipse.org)