Académique Documents
Professionnel Documents
Culture Documents
1 of 7
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
28-Oct-15 11:27 AM
2 of 7
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
UserTransaction
javax.transaction.xa
XAResource, Xid and XAException
28-Oct-15 11:27 AM
3 of 7
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
PlatformTransactionManager
TransactionProxyFactoryBean
JtaTransactionManager
PlatformTransactionManager
HibernateTransactionManager
JdoTransactionManager
JmsTransactionManager
28-Oct-15 11:27 AM
4 of 7
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
TransactionDefinition
TransactionAttribute
DefaultMessageListenerContainer
DefaultMessageListenerContainer
AbstractPollingMessageListenerContainer
MessageConsumer.receive()
JtaTransactionManager
28-Oct-15 11:27 AM
5 of 7
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
| VALUE |
+---------+-----------+-------+
| spring
| execution |
13 |
+---------+-----------+-------+
1 row in set (0.00 sec)
28-Oct-15 11:27 AM
6 of 7
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
| VALUE |
+---------+------------+-------+
| spring
| aaaaa
| 15
| spring
| allocation | 13
+---------+------------+-------+
2 rows in set (0.00 sec)
<destinations>
<queue physicalName="test.q1" />
</destinations>
queue.test.q1=test.q1
EventHandler
28-Oct-15 11:27 AM
7 of 7
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
28-Oct-15 11:27 AM
1 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
MessageSequenceDAO
if
28-Oct-15 11:28 AM
2 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
28-Oct-15 11:28 AM
3 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
DynamicClass
com.findonnet.service.transaction.jboss.jdbc.Mysql
DynamicClass
DynamicClass
getDataSource()
shutdownDataSource()
getDataSource()
XADataSource
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource.
DriverManagerDataSource
handleEvent()
EventHandler
TransactionProxyFactoryBean
"PROPAGATION_REQUIRED,-Exception"
"PROPAGATION_REQUIRED,-Exception"
EventHandler
Exception
JtaTransactionManager
eventHandler
JtaTransactionManager
28-Oct-15 11:28 AM
4 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
<bean id="jbossTransactionManager"
class="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple">
</bean>
<bean id="jbossUserTransaction"
class="com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple"/>
<bean id="transactionManager"
class="org.springframework.transaction.jta.JtaTransacti
<property name="transactionManager">
<ref bean="jbossTransactionManager" />
</property>
<property name="userTransaction">
<ref bean="jbossUserTransaction" />
</property>
</bean>
JtaTransactionManager
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple
com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple
28-Oct-15 11:28 AM
5 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
EventHandler
JmsTemplate
MainApp
handleEvent
if
28-Oct-15 11:28 AM
6 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
JndiTemplate
appJmsDestination
appJmsDestination
appSenderTemplate
appSenderTemplate
queueConnectionFactoryBean
sessionTransacted
prepare()
28-Oct-15 11:28 AM
7 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
xaFactory
org.apache.activemq.ActiveMQXAConnectionFactory
28-Oct-15 11:28 AM
8 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
28-Oct-15 11:28 AM
1 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
28-Oct-15 11:28 AM
2 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
JmsTemplate
BitonixTransactionManager
28-Oct-15 11:28 AM
3 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
MessageHandler
28-Oct-15 11:28 AM
4 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
MessageHandler
handleOrder()
MessageListenerAdapter
28-Oct-15 11:28 AM
5 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
DefaultMessageListenerContainer
28-Oct-15 11:28 AM
6 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
XAResource.*(..))
|| call(*
TransactionManager.*(..))
|| call(*
UserTransaction.*(..))
;
Object around() : xaCalls() {
log.debug("XA CALL -> This: " + thisJoinPoint.getThis());
log.debug("
log.debug("
suspend()
resume()
28-Oct-15 11:28 AM
7 of 8
JmsTemplate
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
DefualtMessageListenerContainer
JmsTemplate
DefaultMessageListenerContainer
SingleConnnectionFactory
28-Oct-15 11:28 AM
8 of 8
http://www.javaworld.com/article/2077714/java-web-development/xa-tr...
28-Oct-15 11:28 AM