当前位置: 首页>>代码示例>>Java>>正文


Java ReplicationConnectionGroupManager.getConnectionGroup方法代码示例

本文整理汇总了Java中com.mysql.jdbc.ReplicationConnectionGroupManager.getConnectionGroup方法的典型用法代码示例。如果您正苦于以下问题:Java ReplicationConnectionGroupManager.getConnectionGroup方法的具体用法?Java ReplicationConnectionGroupManager.getConnectionGroup怎么用?Java ReplicationConnectionGroupManager.getConnectionGroup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.mysql.jdbc.ReplicationConnectionGroupManager的用法示例。


在下文中一共展示了ReplicationConnectionGroupManager.getConnectionGroup方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setCurrentServerGroup

import com.mysql.jdbc.ReplicationConnectionGroupManager; //导入方法依赖的package包/类
/**
 * Change the server group to the given named group.
 */
protected void setCurrentServerGroup(String serverGroupName) throws SQLException {
    this.serverGroup = this.fabricConnection.getServerGroup(serverGroupName);

    if (this.serverGroup == null) {
        throw SQLError.createSQLException("Cannot find server group: `" + serverGroupName + "'", SQLError.SQL_STATE_ILLEGAL_ARGUMENT, null,
                getExceptionInterceptor(), this);
    }

    // check for any changes that need to be propagated to the entire group
    ReplicationConnectionGroup replConnGroup = ReplicationConnectionGroupManager.getConnectionGroup(serverGroupName);
    if (replConnGroup != null) {
        if (replConnGroupLocks.add(this.serverGroup.getName())) {
            try {
                syncGroupServersToReplicationConnectionGroup(replConnGroup);
            } finally {
                replConnGroupLocks.remove(this.serverGroup.getName());
            }
        }
    }
}
 
开发者ID:bragex,项目名称:the-vigilantes,代码行数:24,代码来源:FabricMySQLConnectionProxy.java

示例2: interceptException

import com.mysql.jdbc.ReplicationConnectionGroupManager; //导入方法依赖的package包/类
public SQLException interceptException(SQLException sqlEx, com.mysql.jdbc.Connection conn) {
    // Make sure both threads execute the code after the synchronized block concurrently.
    synchronized (TestBug21934573ExceptionInterceptor.class) {
        if (threadIsWaiting) {
            TestBug21934573ExceptionInterceptor.class.notify();
        } else {
            threadIsWaiting = true;
            try {
                TestBug21934573ExceptionInterceptor.class.wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    com.mysql.jdbc.ReplicationConnectionGroup replConnGrp = ReplicationConnectionGroupManager.getConnectionGroup("deadlock");
    if (!this.useSyncGroupServersLock || replConnGroupLocks.add(replConnGrp.getGroupName())) {
        try {
            System.out.println("Emulating syncing state in: " + replConnGrp + " on thread " + Thread.currentThread().getName() + ".");
            replConnGrp.removeMasterHost("localhost:1234");
            replConnGrp.addSlaveHost("localhost:1234");
            replConnGrp.removeSlaveHost("localhost:1234", false);
            replConnGrp.promoteSlaveToMaster("localhost:1234");
        } catch (SQLException ex) {
            throw new RuntimeException(ex);
        } finally {
            if (this.useSyncGroupServersLock) {
                replConnGroupLocks.remove(replConnGrp.getGroupName());
            }
        }
    } else {
        System.out.println("Giving up syncing state on thread " + Thread.currentThread() + ". Let the other thread do it!");
    }

    synchronized (TestBug21934573ExceptionInterceptor.mainThreadLock) {
        TestBug21934573ExceptionInterceptor.mainThreadLock.notify();
    }
    return null;
}
 
开发者ID:bragex,项目名称:the-vigilantes,代码行数:40,代码来源:ConnectionRegressionTest.java

示例3: setCurrentServerGroup

import com.mysql.jdbc.ReplicationConnectionGroupManager; //导入方法依赖的package包/类
/**
 * Change the server group to the given named group.
 */
protected void setCurrentServerGroup(String serverGroupName) throws SQLException {
    this.serverGroup = null;

    try {
        this.serverGroup = this.fabricConnection.getServerGroup(serverGroupName);
    } catch (FabricCommunicationException ex) {
        throw SQLError.createSQLException("Fabric communication failure.", SQLError.SQL_STATE_COMMUNICATION_LINK_FAILURE, ex, getExceptionInterceptor(),
                this);
    }

    if (this.serverGroup == null) {
        throw SQLError.createSQLException("Cannot find server group: `" + serverGroupName + "'", SQLError.SQL_STATE_ILLEGAL_ARGUMENT, null,
                getExceptionInterceptor(), this);
    }

    // check for any changes that need to be propagated to the entire group
    ReplicationConnectionGroup replConnGroup = ReplicationConnectionGroupManager.getConnectionGroup(serverGroupName);
    if (replConnGroup != null) {
        if (replConnGroupLocks.add(this.serverGroup.getName())) {
            try {
                syncGroupServersToReplicationConnectionGroup(replConnGroup);
            } finally {
                replConnGroupLocks.remove(this.serverGroup.getName());
            }
        }
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:31,代码来源:FabricMySQLConnectionProxy.java

示例4: getActiveConnection

import com.mysql.jdbc.ReplicationConnectionGroupManager; //导入方法依赖的package包/类
protected Connection getActiveConnection() throws SQLException {
    if (!this.transactionInProgress) {
        refreshStateIfNecessary();
    }

    if (this.currentConnection != null) {
        return this.currentConnection;
    }

    if (getCurrentServerGroup() == null) {
        throw SQLError.createSQLException("No server group selected.", SQLError.SQL_STATE_CONNECTION_REJECTED, null, getExceptionInterceptor(), this);
    }

    // try to find an existing replication connection to the current group
    this.currentConnection = this.serverConnections.get(this.serverGroup);
    if (this.currentConnection != null) {
        return this.currentConnection;
    }

    // otherwise, build a replication connection to the current group
    List<String> masterHost = new ArrayList<String>();
    List<String> slaveHosts = new ArrayList<String>();
    for (Server s : this.serverGroup.getServers()) {
        if (s.isMaster()) {
            masterHost.add(s.getHostPortString());
        } else if (s.isSlave()) {
            slaveHosts.add(s.getHostPortString());
        }
    }
    Properties info = exposeAsProperties(null);
    ReplicationConnectionGroup replConnGroup = ReplicationConnectionGroupManager.getConnectionGroup(this.serverGroup.getName());
    if (replConnGroup != null) {
        if (replConnGroupLocks.add(this.serverGroup.getName())) {
            try {
                syncGroupServersToReplicationConnectionGroup(replConnGroup);
            } finally {
                replConnGroupLocks.remove(this.serverGroup.getName());
            }
        }
    }
    info.put("replicationConnectionGroup", this.serverGroup.getName());
    info.setProperty(NonRegisteringDriver.USER_PROPERTY_KEY, this.username);
    info.setProperty(NonRegisteringDriver.PASSWORD_PROPERTY_KEY, this.password);
    info.setProperty(NonRegisteringDriver.DBNAME_PROPERTY_KEY, getCatalog());
    info.setProperty("connectionAttributes", "fabricHaGroup:" + this.serverGroup.getName());
    info.setProperty("retriesAllDown", "1");
    info.setProperty("allowMasterDownConnections", "true");
    info.setProperty("allowSlaveDownConnections", "true");
    info.setProperty("readFromMasterWhenNoSlaves", "true");
    this.currentConnection = ReplicationConnectionProxy.createProxyInstance(masterHost, info, slaveHosts, info);
    this.serverConnections.put(this.serverGroup, this.currentConnection);

    this.currentConnection.setProxy(this);
    this.currentConnection.setAutoCommit(this.autoCommit);
    this.currentConnection.setReadOnly(this.readOnly);
    this.currentConnection.setTransactionIsolation(this.transactionIsolation);
    return this.currentConnection;
}
 
开发者ID:bragex,项目名称:the-vigilantes,代码行数:59,代码来源:FabricMySQLConnectionProxy.java

示例5: getActiveConnection

import com.mysql.jdbc.ReplicationConnectionGroupManager; //导入方法依赖的package包/类
protected Connection getActiveConnection() throws SQLException {
    if (!this.transactionInProgress) {
        refreshStateIfNecessary();
    }

    if (this.currentConnection != null) {
        return this.currentConnection;
    }

    if (getCurrentServerGroup() == null) {
        throw SQLError.createSQLException("No server group selected.", SQLError.SQL_STATE_CONNECTION_REJECTED, null, getExceptionInterceptor(), this);
    }

    // try to find an existing replication connection to the current group
    this.currentConnection = this.serverConnections.get(this.serverGroup);
    if (this.currentConnection != null) {
        return this.currentConnection;
    }

    // otherwise, build a replication connection to the current group
    List<String> masterHost = new ArrayList<String>();
    List<String> slaveHosts = new ArrayList<String>();
    for (Server s : this.serverGroup.getServers()) {
        if (s.isMaster()) {
            masterHost.add(s.getHostPortString());
        } else if (s.isSlave()) {
            slaveHosts.add(s.getHostPortString());
        }
    }
    Properties info = exposeAsProperties(null);
    ReplicationConnectionGroup replConnGroup = ReplicationConnectionGroupManager.getConnectionGroup(this.serverGroup.getName());
    if (replConnGroup != null) {
        if (replConnGroupLocks.add(this.serverGroup.getName())) {
            try {
                syncGroupServersToReplicationConnectionGroup(replConnGroup);
            } finally {
                replConnGroupLocks.remove(this.serverGroup.getName());
            }
        }
    }
    info.put("replicationConnectionGroup", this.serverGroup.getName());
    info.setProperty(NonRegisteringDriver.USER_PROPERTY_KEY, this.username);
    info.setProperty(NonRegisteringDriver.PASSWORD_PROPERTY_KEY, this.password);
    info.setProperty(NonRegisteringDriver.DBNAME_PROPERTY_KEY, getCatalog());
    info.setProperty("connectionAttributes", "fabricHaGroup:" + this.serverGroup.getName());
    info.setProperty("retriesAllDown", "1");
    info.setProperty("allowSlaveDownConnections", "true");
    info.setProperty("readFromMasterWhenNoSlaves", "true");
    this.currentConnection = ReplicationConnectionProxy.createProxyInstance(masterHost, info, slaveHosts, info);
    this.serverConnections.put(this.serverGroup, this.currentConnection);

    this.currentConnection.setProxy(this);
    this.currentConnection.setAutoCommit(this.autoCommit);
    this.currentConnection.setReadOnly(this.readOnly);
    this.currentConnection.setTransactionIsolation(this.transactionIsolation);
    return this.currentConnection;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:58,代码来源:FabricMySQLConnectionProxy.java

示例6: getActiveConnection

import com.mysql.jdbc.ReplicationConnectionGroupManager; //导入方法依赖的package包/类
protected Connection getActiveConnection() throws SQLException {
    if (this.currentConnection != null) {
        return this.currentConnection;
    }

    if (getCurrentServerGroup() == null) {
        throw SQLError.createSQLException("No server group selected.", SQLError.SQL_STATE_CONNECTION_REJECTED, null, getExceptionInterceptor(), this);
    }

    // try to find an existing replication connection to the current group
    this.currentConnection = this.serverConnections.get(this.serverGroup);
    if (this.currentConnection != null) {
        return this.currentConnection;
    }

    // otherwise, build a replication connection to the current group
    List<String> masterHost = new ArrayList<String>();
    List<String> slaveHosts = new ArrayList<String>();
    for (Server s : this.serverGroup.getServers()) {
        if (s.isMaster()) {
            masterHost.add(s.getHostPortString());
        } else if (s.isSlave()) {
            slaveHosts.add(s.getHostPortString());
        }
    }
    Properties info = exposeAsProperties(null);
    ReplicationConnectionGroup replConnGroup = ReplicationConnectionGroupManager.getConnectionGroup(this.serverGroup.getName());
    if (replConnGroup != null) {
        syncGroupServersToReplicationConnectionGroup(replConnGroup);
    }
    info.put("replicationConnectionGroup", this.serverGroup.getName());
    info.setProperty(NonRegisteringDriver.USER_PROPERTY_KEY, this.username);
    info.setProperty(NonRegisteringDriver.PASSWORD_PROPERTY_KEY, this.password);
    info.setProperty(NonRegisteringDriver.DBNAME_PROPERTY_KEY, getCatalog());
    info.setProperty("connectionAttributes", "fabricHaGroup:" + this.serverGroup.getName());
    info.setProperty("retriesAllDown", "1");
    this.currentConnection = new ReplicationConnection(info, info, masterHost, slaveHosts);
    this.serverConnections.put(this.serverGroup, this.currentConnection);

    this.currentConnection.setProxy(this);
    this.currentConnection.setAutoCommit(this.autoCommit);
    this.currentConnection.setReadOnly(this.readOnly);
    this.currentConnection.setTransactionIsolation(this.transactionIsolation);
    return this.currentConnection;
}
 
开发者ID:zerobane,项目名称:cloudera-cli-scripts,代码行数:46,代码来源:FabricMySQLConnectionProxy.java


注:本文中的com.mysql.jdbc.ReplicationConnectionGroupManager.getConnectionGroup方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。