- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中org.apache.solr.common.cloud.ZkStateReader.constructState()
方法的一些代码示例,展示了ZkStateReader.constructState()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZkStateReader.constructState()
方法的具体详情如下:
包路径:org.apache.solr.common.cloud.ZkStateReader
类名称:ZkStateReader
方法名:constructState
[英]Construct the total state view from all sources. Must hold #getUpdateLock() before calling this.
[中]从所有源构建总体状态视图。必须先按住#getUpdateLock(),然后才能调用此函数。
代码示例来源:origin: com.hynnet/solr-solrj
private void updateClusterState(boolean onlyLiveNodes) throws KeeperException, InterruptedException {
// build immutable CloudInfo
synchronized (getUpdateLock()) {
List<String> liveNodes = zkClient.getChildren(LIVE_NODES_ZKNODE, null, true);
Set<String> liveNodesSet = new HashSet<>(liveNodes);
if (!onlyLiveNodes) {
log.debug("Updating cloud state from ZooKeeper... ");
clusterState = constructState(liveNodesSet, null);
} else {
log.debug("Updating live nodes from ZooKeeper... ({})", liveNodesSet.size());
clusterState = this.clusterState;
clusterState.setLiveNodes(liveNodesSet);
}
}
}
代码示例来源:origin: org.apache.solr/solr-solrj
private void refreshAliases(AliasesManager watcher) throws KeeperException, InterruptedException {
synchronized (getUpdateLock()) {
constructState(Collections.emptySet());
zkClient.exists(ALIASES, watcher, true);
}
aliasesManager.update();
}
代码示例来源:origin: org.apache.solr/solr-solrj
/**
* Remove a watcher from a collection's watch list.
*
* This allows Zookeeper watches to be removed if there is no interest in the
* collection.
*
* @param collection the collection
* @param watcher the watcher
*/
public void removeCollectionStateWatcher(String collection, CollectionStateWatcher watcher) {
AtomicBoolean reconstructState = new AtomicBoolean(false);
collectionWatches.compute(collection, (k, v) -> {
if (v == null)
return null;
v.stateWatchers.remove(watcher);
if (v.canBeRemoved()) {
watchedCollectionStates.remove(collection);
lazyCollectionStates.put(collection, new LazyCollectionRef(collection));
reconstructState.set(true);
return null;
}
return v;
});
if (reconstructState.get()) {
synchronized (getUpdateLock()) {
constructState(Collections.emptySet());
}
}
}
代码示例来源:origin: org.apache.solr/solr-solrj
if (reconstructState.get()) {
synchronized (getUpdateLock()) {
constructState(Collections.emptySet());
代码示例来源:origin: org.apache.solr/solr-solrj
constructState(Collections.singleton(collection));
DocCollection newState = fetchCollectionState(collection, null);
if (updateWatchedCollection(collection, newState)) {
constructState(Collections.singleton(collection));
代码示例来源:origin: org.apache.solr/solr-solrj
constructState(updatedCollections);
this.legacyCollectionStates = emptyMap();
this.legacyClusterStateVersion = 0;
constructState(Collections.emptySet());
代码示例来源:origin: org.apache.solr/solr-solrj
/**
* Forcibly refresh cluster state from ZK. Do this only to avoid race conditions because it's expensive.
*
* It is cheaper to call {@link #forceUpdateCollection(String)} on a single collection if you must.
*
* @lucene.internal
*/
public void forciblyRefreshAllClusterStateSlow() throws KeeperException, InterruptedException {
synchronized (getUpdateLock()) {
if (clusterState == null) {
// Never initialized, just run normal initialization.
createClusterStateWatchersAndUpdate();
return;
}
// No need to set watchers because we should already have watchers registered for everything.
refreshCollectionList(null);
refreshLiveNodes(null);
refreshLegacyClusterState(null);
// Need a copy so we don't delete from what we're iterating over.
Collection<String> safeCopy = new ArrayList<>(watchedCollectionStates.keySet());
Set<String> updatedCollections = new HashSet<>();
for (String coll : safeCopy) {
DocCollection newState = fetchCollectionState(coll, null);
if (updateWatchedCollection(coll, newState)) {
updatedCollections.add(coll);
}
}
constructState(updatedCollections);
}
}
代码示例来源:origin: org.apache.solr/solr-solrj
public Integer compareStateVersions(String coll, int version) {
DocCollection collection = clusterState.getCollectionOrNull(coll);
if (collection == null) return null;
if (collection.getZNodeVersion() < version) {
log.debug("Server older than client {}<{}", collection.getZNodeVersion(), version);
DocCollection nu = getCollectionLive(this, coll);
if (nu == null) return -1 ;
if (nu.getZNodeVersion() > collection.getZNodeVersion()) {
if (updateWatchedCollection(coll, nu)) {
synchronized (getUpdateLock()) {
constructState(Collections.singleton(coll));
}
}
collection = nu;
}
}
if (collection.getZNodeVersion() == version) {
return null;
}
log.debug("Wrong version from client [{}]!=[{}]", version, collection.getZNodeVersion());
return collection.getZNodeVersion();
}
代码示例来源:origin: com.hynnet/solr-solrj
this.clusterState = constructState(liveNodeSet, null);
本文整理了Java中org.apache.solr.common.cloud.ZkStateReader.constructState()方法的一些代码示例,展示了ZkStateReader.cons
我是一名优秀的程序员,十分优秀!