类com.mongodb.connection.Cluster源码实例Demo

下面列出了怎么用com.mongodb.connection.Cluster的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: hesperides   文件: CustomMongoHealthIndicator.java
static Cluster getCluster(MongoClient mongoClient) {
    try {
        Method privateMethod = Mongo.class.getDeclaredMethod("getCluster", null);
        privateMethod.setAccessible(true);
        return (Cluster) privateMethod.invoke(mongoClient);
    } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
        throw new RuntimeException(e);
    }
}
 
@SuppressWarnings("deprecation")
@Override
public void onConstruct(EnhancedInstance objInst, Object[] allArguments) {
    Cluster cluster = (Cluster) allArguments[0];
    String remotePeer = MongoRemotePeerHelper.getRemotePeer(cluster);
    objInst.setSkyWalkingDynamicField(remotePeer);
}
 
源代码3 项目: skywalking   文件: MongoRemotePeerHelper.java
public static String getRemotePeer(Cluster cluster) {
    StringBuilder peersBuilder = new StringBuilder();
    for (ServerDescription description : cluster.getDescription().getAll()) {
        ServerAddress address = description.getAddress();
        peersBuilder.append(address.getHost()).append(":").append(address.getPort()).append(";");
    }
    return peersBuilder.substring(0, peersBuilder.length() - 1);
}
 
private List<String> getHostList(Object arg) {
    if (!(arg instanceof Cluster)) {
        return Collections.emptyList();
    }

    final Cluster cluster = (Cluster) arg;

    final List<String> hostList = new ArrayList<String>();

    Collection<ServerDescription> serverDescriptions;// = cluster.getDescription().getAll();//.getServerDescriptions();

    try {
        ClusterDescription.class.getDeclaredMethod("getServerDescriptions");
        serverDescriptions = cluster.getDescription().getServerDescriptions();
    } catch (NoSuchMethodException e) {
        serverDescriptions = cluster.getDescription().getAll();
    }

    for (ServerDescription serverDescription : serverDescriptions) {

        ServerAddress serverAddress = serverDescription.getAddress();
        final String hostAddress = HostAndPort.toHostAndPortString(serverAddress.getHost(), serverAddress.getPort());
        hostList.add(hostAddress);
    }

    return hostList;
}
 
源代码5 项目: skywalking   文件: MongoDBInterceptor.java
@Override
public void onConstruct(EnhancedInstance objInst, Object[] allArguments) {
    Cluster cluster = (Cluster) allArguments[0];
    String peers = MongoRemotePeerHelper.getRemotePeer(cluster);
    objInst.setSkyWalkingDynamicField(peers);
}
 
 类所在包
 类方法
 同包方法