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.

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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top