Condividi tramite


Gestione delle transazioni con l'adapter MSMQ

In questa sezione viene illustrato il funzionamento delle transazioni durante la ricezione e la trasmissione.

Nota

Nel caso dell'adapter MSMQ, una transazione si estende dal database MessageBox BizTalk alla coda Accodamento messaggi locale, anche se si sta utilizzando una coda remota.

È possibile utilizzare le transazioni sia per la trasmissione che per la ricezione con l'adapter MSMQ. Nelle trasmissioni sottoposte a transazione l'adapter accumula messaggi fino a quando non è disponibile un batch completo. L'adapter invia quindi il batch al servizio Accodamento messaggi locale come singola transazione. Se l'invio ha esito negativo, l'adapter tenta di inviare nuovamente il batch. Se anche il nuovo invio ha esito negativo, l'adapter passa al trasporto secondario.

Nota

L'adapter supporta letture transazionali di code remote solo con Accodamento messaggi 4.0 o versioni successive. In questo scenario sia il BizTalk Server che il server remoto di Accodamento messaggi devono eseguire Accodamento messaggi 4.0 o versione successiva.

Nelle ricezioni sottoposte a transazione l'adapter sospende i messaggi non riusciti, in modo da non perdere alcun messaggio. Durante una ricezione sottoposta a transazione, l'adapter aggiunge messaggi a un batch fino al completamento di tale batch. Il batch viene quindi inviato:

  • Se non si verifica alcun problema e il server riceve i messaggi, l'adapter esegue il commit della transazione.

  • Se si verificano problemi, l'adapter crea un nuovo batch nell'ambito della transazione corrente. Eventuali messaggi con problemi vengono quindi spostati nel nuovo batch. Il primo batch viene inviato nuovamente, mentre il nuovo batch viene inviato come contenente messaggi sospesi. Se non si verificano problemi durante questo nuovo invio, l'adapter esegue il commit della transazione.

    Se si esegue un gestore di trasmissione dell'adapter MSMQ in un'istanza dell'host BizTalk in cluster, sarà necessario inserire il servizio MSMQ nello stesso gruppo di cluster, in modo da assicurare la coerenza delle transazioni.

    Se l'opzione "Accesso di rete DTC" è disabilitata nell'utilità DCOMCNFG, un'operazione di ricezione remota delle transazioni MSMQ avrà esito negativo e verrà visualizzato un messaggio di errore di difficile interpretazione. Per eseguire una ricezione remota delle transazioni con un adapter MSMQ, è necessario che l'opzione "Accesso di rete DTC" sia abilitata. Per altre informazioni, vedere https://go.microsoft.com/fwlink/?LinkId=124623.

    Se si esegue un gestore di ricezione dell'adapter MSMQ in un'istanza dell'host BizTalk in cluster, sarà necessario inserire il servizio MSMQ nello stesso gruppo di cluster, in modo da supportare le letture sottoposte a transazione locali, poiché MSMQ non supporta le letture transazionali remote. Per altre informazioni sull'esecuzione di gestori di adattatori MSMQ in un'istanza cluster di un host BizTalk, vedere Considerazioni sull'esecuzione di gestori di adapter all'interno di un host cluster.

Vedere anche

Messaggistica affidabile con l'adapter MSMQ