<dependency> <groupId>jotm</groupId> <artifactId>jotm</artifactId> <version>2.2.11</version> </dependency> properties TransactionManager.factory=org.objectweb.jotm.Jotm Transaction.timeout=300 import org.objectweb.jotm.Jotm; public class TransactionalLibrary { private Jotm jotm; public TransactionalLibrary() { jotm = new Jotm(true, false); } public void performTransaction() { try { jotm.getTransactionManager().begin(); jotm.getTransactionManager().commit(); } catch (Exception e) { try { jotm.getTransactionManager().rollback(); } catch (Exception ex) { ex.printStackTrace(); } e.printStackTrace(); } } } import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class TransactionalLibrary { // ... public void performTransaction() { try { jotm.getTransactionManager().begin(); Connection connection = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD); PreparedStatement statement = connection.prepareStatement("INSERT INTO users (name, email) VALUES (?, ?)"); statement.setString(1, "John Doe"); statement.setString(2, "john.doe@example.com"); statement.executeUpdate(); statement.close(); connection.close(); jotm.getTransactionManager().commit(); } catch (Exception e) { try { jotm.getTransactionManager().rollback(); } catch (Exception ex) { ex.printStackTrace(); } e.printStackTrace(); } } } <bean id="transactionManager" class="org.springframework.transaction.jta.JotmFactoryBean"> <property name="userTransactionName" value="java:comp/UserTransaction" /> <property name="transactionManagerName" value="java:comp/TransactionManager" /> </bean> <tx:annotation-driven transaction-manager="transactionManager" />


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