Closed wujun8 closed 6 years ago
LocalXADataSource并非ByteJTA根据具体数据源自动封装的,而是需要业务系统来封装,比如:
<bean id="doNotUseThisDataSourceDirectly" class="org.apache.commons.dbcp.BasicDataSource">
<!-- ...... -->
</bean>
<bean id="dataSource"
class="org.bytesoft.bytejta.supports.jdbc.LocalXADataSource">
<property name="dataSource" ref="doNotUseThisDataSourceDirectly" />
</bean>
如果需要设置隔离级别,可以考虑将业务需要配置的数据源封装在IsolationLevelDataSourceAdapter中之后,再设置到LocalXADataSource; JtaTransactionManager.allowCustomIsolationLevels属性也可以直接在JtaTransactionManager的bean定义中设置。
以上两处调整,如果加在框架中,反而会限制了框架的适用场景,因此不倾向于添加。 ByteJTA/ByteTCC内置的配置只是方便新手使用。使用熟练、需要定制参数时,更推荐在此基础上自行配置。
THX
5 这个 pr 希望 merge 下,或者考虑其它方案适配对 Isolation 的支持