1

有谁知道如何检测作者实例是否作为主实例运行?

我们正在以 Quartz servlet 的形式运行一个摄取进程,并且由于它只是一直在编写,我们不希望任何从节点执行脚本。

似乎我们可以通过 org.apache.sling.discovery.InstanceDescription.isLeader() 了解当前实例是否为主实例,但是,获取当前的 InstanceDescription 似乎很有趣。

如果我去@Reference 私有 DiscoveryService 发现;

参考不满意。

关于如何获得 InstanceDescription 的任何其他建议?

4

1 回答 1

0

你可以这样做

@Reference
private SlingRepository repository;

public boolean isMasterRepository(){
    final String isMaster = repository.getDescriptor("crx.cluster.master");
    return StringUtils.isNotBlank(isMaster) && Boolean.parseBoolean(isMaster);
}
于 2013-09-05T17:28:30.907 回答