How to use BTM as the transaction manager with Spring 2.x
These instructions have been verified against BTM 1.1.
|Table of Contents|
Step 1: Copy the BTM jars
Include the following jars from the BTM distribution into your classpath:
- slf4j-jdk14.jar (or any other one available here)
Step 2: Configure connection pools beans
The first things you will need to configure are the connection pools.
Since the pools are created via the BTM API (ie: not with ResourceLoader) it is up to the API user to manage the lifecycle of the pools, mainly calling
Step 3: Configure BTM beans
The second thing you need to do is configure beans for BTM.
Step 4: Configure Spring PlatformTransactionManager
Next, you need to create a Spring PlatformTransactionManager. There are many of them but the one we are interested in is the JtaTransactionManager. This is required as Spring internally uses
PlatformTransactionManager for all transactional work.
This is really all you need to get JTA support with BTM inside Spring. You could directly make use of the JtaTransactionManager bean in your code but there are more elegant solutions: using Sping's AOP support to get declarative transaction management.
Step 5: Configure declarative transaction management
This can easily be achieved thanks to Spring's TransactionProxyFactoryBean.