Domanda

In Documentazione JBoss esiste la possibilità di dichiarare <no-tx-datasource> che indica:

  

no-tx-datasource : questo elemento viene utilizzato per specificare la configurazione del servizio NoTxConnectionManager (org.jboss.resource.connectionmanager). NoTxConnectionManager è una gestione connessione JCA senza supporto per le transazioni.

Sono curioso di sapere cosa può essere collegato da quel tipo di origine dati? Ldap? Quali sono i casi di utilizzo pratico o esempi di open source di questo tipo di configurazione?

È stato utile?

Soluzione

L'accesso a un database di sola lettura è il caso d'uso più basilare a cui posso pensare. Un'altra sarebbe un'applicazione che gestisca lo stato della transazione stessa. E un altro se si desidera utilizzare una connessione che non parteciperà a una transazione JTA globale. L'ultimo accade in Quartz (vedi JobStoreCMT ).

Ma, mentre cercavo su google (questa è una buona domanda!), ho trovato qualche ispirazione in più nella sezione Uso delle connessioni non transazionali della documentazione del server delle applicazioni Sun:

  

Il principale vantaggio dell'utilizzo di connessioni non transazionali è che viene evitato il sovraccarico dovuto all'elenco e alla cancellazione delle connessioni in contesti di transazione. Tuttavia, utilizzare tali connessioni con attenzione. Ad esempio, se viene utilizzata una connessione non transazionale per eseguire una query sul database mentre è in corso una transazione che modifica il database, la query recupera i dati non modificati nel database. Questo perché la transazione in corso non è stata impegnata & # 8217; t. Per un altro esempio, se una connessione non transazionale modifica il database e una transazione in esecuzione contemporaneamente viene ripristinata, le modifiche apportate dalla connessione non transazionale non vengono ripristinate.

     

Ecco un tipico caso d'uso per una connessione non transazionale: un componente che sta aggiornando un database in un contesto di transazione che si estende su più iterazioni di un ciclo può aggiornare i dati memorizzati nella cache utilizzando una connessione non transazionale per leggere i dati prima del commit della transazione.

Interessante ...

Altri suggerimenti

Non tutte le origini dati sono texas, un'origine dati può anche rappresentare un file su disco.

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