public synchronized void xaRollback(String xid, long branchId, String applicationData) throws XAException {
        XAXid xaXid = XAXidBuilder.build(xid, branchId);
        xaRollback(xaXid);
    }
@Test
    public void testXARollback() throws Throwable {
        Connection connection = Mockito.mock(Connection.class);
        Mockito.when(connection.getAutoCommit()).thenReturn(true);

        XAResource xaResource = Mockito.mock(XAResource.class);

        XAConnection xaConnection = Mockito.mock(XAConnection.class);
        Mockito.when(xaConnection.getXAResource()).thenReturn(xaResource);
        BaseDataSourceResource<ConnectionProxyXA> baseDataSourceResource = Mockito.mock(BaseDataSourceResource.class);
        String xid = "xxx";

        ConnectionProxyXA connectionProxyXA = new ConnectionProxyXA(connection, xaConnection, baseDataSourceResource, xid);
        connectionProxyXA.init();

        connectionProxyXA.xaRollback("xxx", 123L, null);

        Mockito.verify(xaResource, times(0)).commit(any(Xid.class), any(Boolean.class));
        Mockito.verify(xaResource).rollback(any(Xid.class));
    }