Sono nuovo di JTA e sono i gestori delle transazioni sottostanti. Qualcuno può spiegare i pro/contro di ognuno di questi? Sentiti libero di aggiungere altri che non ho elencato nel titolo.
gestori di transazioni autonomi io sappia includono Bitronix, SimpleJTA, Tyrex (morto?), JOTM (usato in Jonas), GeronimoTM/Jencks (usato in Geronimo), JBossTS (utilizzato in JBoss) e Atomikos.
Non li ho mai testati tutti estesamente (e questo è quello che dovresti fare se devi sceglierne uno), quindi non posso fornire un pro/contro esaustivo (e ciò richiederebbe un po 'di lavoro). Ma qui ci sono alcuni link:
Solo nel caso, qui è il mio punto di vista molto personale:
- Ho visto molte lamentele su JOTM.
- Penso che GeronimoTM/Jencks manchi di documentazione.
- SimpleJTA non implementa JTS e non è attivo.
- Bitronix è una documentazione decente ma non offre supporto.
- Atomikos è un prodotto impressionante, ben documentato e offre supporto.
- JBossTS alias ArjunaTS è sicuramente un prodotto maturo (vedere la announcement of the acquisition per un po 'di storia) e fa offrire sostegno.
Personalmente, avrei selezionato Atomikos e JBossTS e li avrei testati come hardcore se dovessi sceglierne uno.
Inoltre, i principali server di applicazioni (WebSphere, JBoss, Glassfish) non dispongono di un proprio gestore transazioni conforme a JTA?
Ovviamente lo fanno, JTA fa parte della specifica Java EE, un server Java EE deve supportarlo.
In quegli ambienti, utilizzeresti ancora queste implementazioni di terze parti?
No, vorrei utilizzare il gestore delle transazioni fornito (per semplicità, supporto, ecc.).
fonte
2010-06-04 23:30:17
Grazie per questa risposta utile. A volte, per scopi di test e dimostrativi, la nostra applicazione deve essere eseguita in Jetty o Tomcat. Atomikos e JBossTS funzioneranno ancora in quegli ambienti? In realtà, che il motivo per questi gestori delle transazioni di terze parti? Per ottenere un buon supporto per le transazioni al di fuori di un server di applicazioni completo? – HDave
@HDave: i gestori di transazioni autonomi sono utili quando è necessario il supporto delle transazioni globali (ad esempio quando si ha a che fare con più di una risorsa transazionale) e il proprio ambiente non offre supporto per questa (ad esempio un'applicazione autonoma, un contenitore servlet). In tali ambienti, userei Spring per facilitare la configurazione (e JBossTS e Atomikos si adatterebbero). –
Jencks è in realtà un contenitore JCA che utilizza GeronimoTM come gestore transazioni JTA ... – pgras