Qualcuno sa che queste proprietà di Oracle AQ JMS XA fanno?
-
30-09-2019 - |
Domanda
Sto usando Oracle Code avanzata tramite JMS da WebSphere App Server.
Qualcuno sa che effetto le seguenti due strutture: -
- oracle.jms.useEmulatedXA
- oracle.jms.useNativeXA
ho visto menzionato in alcuni blog e guide rapide, di solito in frasi lungo le linee di "Aggiungi -Doracle.jms.useEmulatedXA = falso -Doracle.jms.useNativeXA = true alla variabile JAVA_PROPERTIES", senza alcuna spiegazione a quello che fanno: -
per es.
- http://biemond.blogspot.com /2008/11/using-aq-in-weblogic-103.html
- http://sqltech.cl/doc/oas10gR31 /integrate.1013/b28994/adptr_aq.htm#CHDEADFB
Sono curioso di sapere cosa queste due proprietà effettivamente fare, e quali sono le implicazioni della loro regolazione sono, anche se non sembrano avere alcun effetto sulla nostra applicazione indipendentemente dal fatto che essi abbiamo impostato o no.
Googling non ha dato alcuna risposta, qualcuno ha qualche idea di quello che fanno?
Soluzione
Speriamo che questo link viene spiegare le cose in dettaglio: http://bit.ly/bsl9Un I bit rilevanti includere la seguente ...
fonti di dati emulati sono fonti di dati che emulare il protocollo XA per JTA transazioni. fonti di dati emulati offerta OC4J caching, mettendo in comune, e estensioni Oracle JDBC per i dati Oracle fonti. Storicamente, emulato dati fonti erano necessarie perché molti i driver JDBC non hanno fornito XA funzionalità. Oggi, anche se la maggior parte driver JDBC forniscono XA capacità, ci sono ancora casi in che emulato XA è preferito (ad esempio come operazioni che non richiedono commit a due fasi.)
Connessioni ottenuto da emulato fonti di dati sono estremamente veloci, perché i collegamenti emulare la XA API senza fornire pieno XA globale supporto transazionale. In particolare, fonti di dati emulate non supportano commit in due fasi. Oracle raccomanda di utilizzare fonti di dati per emulati transazioni locali, o quando il applicazione utilizza le transazioni globali senza richiedere commit in due fasi.
E ...
fonti di dati Nonemulated fornire piena (nonemulated) servizi JTA, tra cui commit a due fasi funzionalità per transazioni globali. dati Nonemulated fonti offrono pooling, il caching, capacità di transazioni distribuite, e il venditore estensioni JDBC (attualmente, solo le estensioni Oracle JDBC). Per informazioni sui limiti commit a due fasi, vedere il Capitolo 7, "Java Transaction API".
Oracle consiglia di utilizzare fonti di dati per nonemulated comunicazioni di database distribuiti, ripristino e affidabilità. Nonemulated fonti di dati condividono fisica connessioni per connessioni logiche a lo stesso database per lo stesso utente.
Allora, cosa sta succedendo quando si imposta emulato XA è che la vostra applicazione pensa si sta facendo XA, ma le chiamate vengono ottimizzate o tradotta in monofase commesso. Quando si specifica non emulato XA allora hai trovato la piena funzionalità XA. In entrambi i casi, l'applicazione è beatamente inconsapevole.