本文整理汇总了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());
}
}
}
}
示例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;
}
示例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());
}
}
}
}
示例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;
}
示例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;
}
示例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;
}