• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java LoadBalancingConnectionProxy类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.mysql.jdbc.LoadBalancingConnectionProxy的典型用法代码示例。如果您正苦于以下问题:Java LoadBalancingConnectionProxy类的具体用法?Java LoadBalancingConnectionProxy怎么用?Java LoadBalancingConnectionProxy使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



LoadBalancingConnectionProxy类属于com.mysql.jdbc包,在下文中一共展示了LoadBalancingConnectionProxy类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: pickConnection

import com.mysql.jdbc.LoadBalancingConnectionProxy; //导入依赖的package包/类
@Override
public com.mysql.jdbc.ConnectionImpl pickConnection(LoadBalancingConnectionProxy proxy, List<String> configuredHosts,
        Map<String, ConnectionImpl> liveConnections, long[] responseTimes, int numRetries) throws SQLException {
    if (forcedFutureServer == null || forceFutureServerTimes == 0 || !configuredHosts.contains(forcedFutureServer)) {
        return super.pickConnection(proxy, configuredHosts, liveConnections, responseTimes, numRetries);
    }
    if (forceFutureServerTimes > 0) {
        forceFutureServerTimes--;
    }
    ConnectionImpl conn = liveConnections.get(forcedFutureServer);

    if (conn == null) {
        conn = proxy.createConnectionForHost(forcedFutureServer);

    }
    return conn;
}
 
开发者ID:mniepert,项目名称:TPKB,代码行数:18,代码来源:ConnectionRegressionTest.java


示例2: pickConnection

import com.mysql.jdbc.LoadBalancingConnectionProxy; //导入依赖的package包/类
public com.mysql.jdbc.ConnectionImpl pickConnection(
		LoadBalancingConnectionProxy proxy, List<String> configuredHosts,
		Map<String, ConnectionImpl> liveConnections, long[] responseTimes, int numRetries)
		throws SQLException {
	if (forcedFutureServer == null || forceFutureServerTimes == 0 || !configuredHosts.contains(forcedFutureServer)) {
		return super.pickConnection(proxy, configuredHosts,
				liveConnections, responseTimes, numRetries);
	}
	if (forceFutureServerTimes > 0) {
		forceFutureServerTimes--;
	}
	ConnectionImpl conn = liveConnections
			.get(forcedFutureServer);

	if (conn == null) {
		conn = proxy.createConnectionForHost(forcedFutureServer);

	}
	return conn;
}
 
开发者ID:hinsenchan,项目名称:fil_project_mgmt_app_v2,代码行数:21,代码来源:ConnectionRegressionTest.java


示例3: pickConnection

import com.mysql.jdbc.LoadBalancingConnectionProxy; //导入依赖的package包/类
@Override
public ConnectionImpl pickConnection(LoadBalancingConnectionProxy proxy, List<String> configuredHosts, Map<String, ConnectionImpl> liveConnections,
    long[] responseTimes, int numRetries) throws SQLException {
    int numHosts = configuredHosts.size();

    SQLException ex = null;

    List<String> whiteList = new ArrayList<String>(numHosts);
    whiteList.addAll(configuredHosts);

    Map<String, Long> blackList = proxy.getGlobalBlacklist();

    whiteList.removeAll(blackList.keySet());

    Map<String, Integer> whiteListMap = this.getArrayIndexMap(whiteList);

    for (int attempts = 0; attempts < numRetries;) {
        if (whiteList.size() == 0) {
            throw SQLError.createSQLException("No hosts configured", null);
        }

        String hostPortSpec = whiteList.get(0);     //Always take the first host

        ConnectionImpl conn = liveConnections.get(hostPortSpec);

        if (conn == null) {
            try {
                conn = proxy.createConnectionForHost(hostPortSpec);
            } catch (SQLException sqlEx) {
                ex = sqlEx;

                if (proxy.shouldExceptionTriggerFailover(sqlEx)) {

                    Integer whiteListIndex = whiteListMap.get(hostPortSpec);

                    // exclude this host from being picked again
                    if (whiteListIndex != null) {
                        whiteList.remove(whiteListIndex.intValue());
                        whiteListMap = this.getArrayIndexMap(whiteList);
                    }
                    proxy.addToGlobalBlacklist(hostPortSpec);

                    if (whiteList.size() == 0) {
                        attempts++;
                        try {
                            Thread.sleep(250);
                        } catch (InterruptedException e) {
                            s_logger.debug("[ignored] interupted while fail over in progres.");
                        }

                        // start fresh
                        whiteListMap = new HashMap<String, Integer>(numHosts);
                        whiteList.addAll(configuredHosts);
                        blackList = proxy.getGlobalBlacklist();

                        whiteList.removeAll(blackList.keySet());
                        whiteListMap = this.getArrayIndexMap(whiteList);
                    }

                    continue;
                }

                throw sqlEx;
            }
        }

        return conn;
    }

    if (ex != null) {
        throw ex;
    }

    return null; // we won't get here, compiler can't tell
}
 
开发者ID:apache,项目名称:cloudstack,代码行数:76,代码来源:StaticStrategy.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java UnknownOptionException类代码示例发布时间:2022-05-22
下一篇:
Java SnmpString类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap