class BackendTransactionManager implements TransactionManager {

    @Override
    public void begin() {
        if (!connection.getTransactionStatus().isInTransaction()) {
            connection.getTransactionStatus().setInTransaction(true);
            connection.closeConnections(false);
        }
        if (TransactionType.LOCAL == transactionType || null == shardingTransactionManager) {
            localTransactionManager.begin();
        } else {
            shardingTransactionManager.begin();
        }
    }

    public  BackendTransactionManager(final BackendConnection backendConnection);

}