AtomikosequivalenttoHikariconnection-init-sql
创始人
2024-09-21 19:01:02
0

在Atomikos中使用JDBC的XAResource实现,在AtomikosTransaction的createCompositeTransaction()方法中,我们可以使用AtomikosTransactionalResource的getXAResource()方法获取到JDBC的XAResource。接着我们可以在AtomikosTransactionalResource中重写prepare()方法并在其中执行connection.prepareStatement()和connection.execute()来实现类似于Hikari的connection-init-sql的功能。以下是示例代码:

public class AtomikosTransactionalResource implements javax.transaction.xa.XAResource {

private Connection connection;
private PreparedStatement preparedStatement;
private String connectionInitSql;

public AtomikosTransactionalResource(Connection connection,String connectionInitSql) {
    this.connection = connection;
    this.connectionInitSql = connectionInitSql;
}

@Override
public void prepare(Xid xid) throws XAException {
    try {
        preparedStatement = connection.prepareStatement(connectionInitSql);
        preparedStatement.execute();
    } catch (SQLException e) {
        throw new XAException();
    }
}

@Override
public void commit(Xid xid, boolean b) throws XAException {
    // commit transaction
}

@Override
public void rollback(Xid xid) throws XAException {
    // rollback transaction
}

// other methods here

}

然后在createCompositeTransaction()方法中获取AtomikosTransactionalResource并执行prepare()方法即可:

public Transaction createCompositeTransaction( Transaction tx1, Transaction tx2) throws SysException { // prepare AtomikosTransactionalResource AtomikosTransactionalResource resource = new AtomikosTransactionalResource(connection,connectionInitSql); resource.prepare(xid);

// create CompositeTransaction
CompositeTransaction ct = new CompositeTransaction(xid, root, parallel);
ct.registerSynchronization(new AtomikosTransactionSynchronization(ct, resource));
return ct;

}

相关内容

热门资讯

wepokeai辅助!微扑克的... wepokeai辅助!微扑克的辅助工具苹果[辅助挂]原来真的有挂(有挂安装)-哔哩哔哩1、微扑克ai...
WePoKe辅助挂!wpk长期... WePoKe辅助挂!wpk长期盈利打法[辅助挂]原来真的有挂(有挂插件)-哔哩哔哩1、每个玩家都可以...
德扑之星辅助挂!德州ai软件购... 德扑之星辅助挂!德州ai软件购买[透视]其实真的有挂(有挂APP)-哔哩哔哩1、这是跨平台的德扑之星...
wpk透明挂!wepoke打伙... 您好,wepoke这款游戏可以开挂的,确实是有挂的,需要了解加微【439369440】很多玩家在这款...
wepoke透明挂!wpk辅助... wepoke透明挂!wpk辅助机器人[辅助挂]原来真的有挂(有挂机制)-哔哩哔哩;wepoke是一种...
WPK透明挂!wepower提... WPK透明挂!wepower提高中牌率[透视]原来真的有挂(有挂技巧)-哔哩哔哩;一、wepower...
WPK透明挂!德扑之星实战[辅... WPK透明挂!德扑之星实战[辅助挂]其实真的有挂(有挂平台)-哔哩哔哩(1)WPK透明挂!德扑之星实...
wepok软件透明挂!来玩德州... wepok软件透明挂!来玩德州app辅助软件[透视]原来真的有挂(有挂规律)-哔哩哔哩1、每一步都需...
wepokeai辅助!aapo... wepokeai辅助!aapoker透明挂多久被封[辅助挂]原来真的有挂(有挂教程)-哔哩哔哩;致您...
wepok软件透明挂!微扑克发... wepok软件透明挂!微扑克发牌规律性总结[透视]其实真的有挂(有挂工具)-哔哩哔哩;微扑克是一种具...