开发网页游戏过程记录20-atomikos配置

本文详细介绍了如何配置Atomikos JTA框架以实现对数据库的事务操作,包括配置jta.properties文件、Spring配置文件及常用常量设置。通过此配置,可以有效地使用Atomikos的JTA特性控制数据库事务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本项目需要使用atomikos这个JTA框架来进行对数据库的事务操作,首先是配置jta.properties文件,如下:

com.atomikos.icatch.service=com.atomikos.icatch.standalone.UserTransactionServiceFactorycom.atomikos.icatch.console_file_name = xx_jta.out com.atomikos.icatch.output_dir = ${catalina.base}/xx_xx/ com.atomikos.icatch.log_base_dir = ${catalina.base}/xx_log/ com.atomikos.icatch.log_base_name = xx_log com.atomikos.icatch.console_log_level=INFO 接着在spring的配置文件当中配置DataSource AtomikosDataSourceBean多数据库事务分布,如下:

<bean id="abstractXADataSource" class="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init" destroy-method="close" abstract="true"> <property name="xaDataSourceClassName" value="${xaDataSourceClassName}"/> <property name="minPoolSize" value="${minPoolSize}"/> <property name="maxPoolSize" value="${maxPoolSize}"/> <property name="borrowConnectionTimeout" value="${borrowConnectionTimeout}"/> <property name="reapTimeout" value="${reapTimeout}"/> <property name="maxIdleTime" value="${maxIdleTime}"/> <property name="maintenanceInterval" value="${maintenanceInterval}"/> <property name="testQuery" value="${testQuery}"/> </bean><bean id="gameDataSource" parent="abstractXADataSource"> <property name="uniqueResourceName" value="${gameDataSource.uniqueResourceName}"/> <property name="xaProperties"> <props> <prop key="URL">${gameDataSource.URL}</prop> <prop key="user">${gameDataSource.user}</prop> <prop key="password">${gameDataSource.password}</prop> <prop key="noAccessToProcedureBodies">true</prop> </props> </property> </bean> <!-- Transaction --> <bean id="atomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init" destroy-method="close"> <!-- when close is called, should we force transactions to terminate or not? --> <property name="forceShutdown" value="true"/> </bean> <bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp"> <property name="transactionTimeout" value="240" /> </bean> <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"> <property name="transactionManager" ref="atomikosTransactionManager"/> <property name="userTransaction" ref="atomikosUserTransaction"/> <property name="transactionSynchronizationName" value="SYNCHRONIZATION_ON_ACTUAL_TRANSACTION"/> </bean> <bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate"> <property name="transactionManager" ref="transactionManager"/> </bean> <bean class="com.game.dao.TransactionUtils"> <property name="transactionTemplate" ref="transactionTemplate"/> </bean> <!-- 配置注解 --> <tx:annotation-driven transaction-manager="transactionManager" /> 配置文件中需要用到的一些常量在properties文件中配置,如下:

xaDataSourceClassName = com.mysql.jdbc.jdbc2.optional.MysqlXADataSource minPoolSize=1 maxPoolSize=2 borrowConnectionTimeout=30 reapTimeout=20 maxIdleTime=60 maintenanceInterval=60 testQuery=select version() gameDataSource.uniqueResourceName = mysql/gamedb gameDataSource.URL=jdbc:mysql://192.168.x.x:3306/game_db?useUnicode=true&characterEncoding=utf-8 gameDataSource.user=xxx gameDataSource.password=xxxxxx配置完成就可以使用atomikos的jta特性来对数据库的事务进行控制了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值