<dependency> <groupId>bitronix.tm</groupId> <artifactId>btm</artifactId> <version>2.1.4</version> </dependency> properties resource.ds1.className = bitronix.tm.resource.jdbc.lrc.LrcXADataSource resource.ds1.uniqueName = MyDataSource resource.ds1.minPoolSize = 1 resource.ds1.maxPoolSize = 5 resource.ds1.driverProperties.url = jdbc:mysql://localhost/mydatabase resource.ds1.driverProperties.user = myuser resource.ds1.driverProperties.password = mypassword import bitronix.tm.BitronixTransactionManager; import bitronix.tm.TransactionManagerServices; import bitronix.tm.jndi.BitronixContext; import bitronix.tm.resource.jdbc.PoolingDataSource; import javax.transaction.TransactionManager; import javax.transaction.UserTransaction; import java.sql.Connection; import java.sql.SQLException; public class BitronixExample { public static void main(String[] args) throws Exception { TransactionManager transactionManager = TransactionManagerServices.getTransactionManager(); UserTransaction userTransaction = transactionManager; PoolingDataSource dataSource = new PoolingDataSource(); dataSource.setUniqueName("MyDataSource"); dataSource.setClassName("bitronix.tm.resource.jdbc.lrc.LrcXADataSource"); dataSource.setMaxPoolSize(5); dataSource.setMinPoolSize(1); dataSource.setDriverProperties(getDataSourceProperties()); BitronixContext bitronixContext = new BitronixContext(); bitronixContext.getEnvironment().bind("jdbc/MyDataSource", dataSource); userTransaction.begin(); try { Connection connection = dataSource.getConnection(); // ... userTransaction.commit(); } catch (SQLException e) { e.printStackTrace(); userTransaction.rollback(); } finally { dataSource.close(); transactionManager.shutdown(); } } private static Properties getDataSourceProperties() { Properties properties = new Properties(); properties.setProperty("url", "jdbc:mysql://localhost/mydatabase"); properties.setProperty("user", "myuser"); properties.setProperty("password", "mypassword"); return properties; } }


上一篇:
下一篇:
切换中文