热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

org.zstack.core.asyncbatch.While类的使用及代码示例

本文整理了Java中org.zstack.core.asyncbatch.While类的一些代码示例,展示了While类的具体用法。这些代码示

本文整理了Java中org.zstack.core.asyncbatch.While类的一些代码示例,展示了While类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。While类的具体详情如下:
包路径:org.zstack.core.asyncbatch.While
类名称:While

While介绍

[英]Created by xing5 on 2017/3/5.
[中]由兴5于2017年3月5日创建。

代码示例

代码示例来源:origin: zstackio/zstack

private void detachIpFromVmNicCascade(List msgs, final Completion completion) {
if (msgs.isEmpty()) {
completion.success();
return;
}
new While<>(msgs).all((msg, compl) -> bus.send(msg, new CloudBusCallBack(compl) {
@Override
public void run(MessageReply reply) {
if (!reply.isSuccess()) {
logger.warn(String.format("failed to detach ip[uuid:%s] from vmNic [uuid:%s], %s." +
" However, detaching will go on", msg.getUsedIpUuid(), msg.getVmNicUuid(), reply.getError()));
}
compl.done();
}
})).run(new NoErrorCompletion(completion) {
@Override
public void done() {
completion.success();
}
});
}

代码示例来源:origin: zstackio/zstack

private void pingFilter(PrimaryStorageInventory inv, int count, int oneStepLimit, Completion completion){
List stepCount = new ArrayList<>();
for(int i = 0; i <= count/oneStepLimit; i ++){
stepCount.add(i);
}
List errs = new ArrayList<>();
new While<>(stepCount).each((currentStep, compl) -> {
pingFilterStep(inv, currentStep, oneStepLimit, new Completion(compl) {
@Override
public void success() {
compl.allDone();
}
@Override
public void fail(ErrorCode errorCode) {
errs.add(errorCode);
compl.done();
}
});
}).run(new NoErrorCompletion(completion) {
@Override
public void done() {
if(errs.size() == stepCount.size()){
completion.fail(errs.get(0));
}else {
completion.success();
}
}
});
}

代码示例来源:origin: zstackio/zstack

@Override
public void send(List msgs, int parallelLevel, CloudBusSteppingCallback callback) {
DebugUtils.Assert(!msgs.isEmpty(), "you cannot pass an empty message list to me");
msgs.forEach(this::evaluateMessageTimeout);
new While<>(msgs).step((msg, completion) -> send(msg, new CloudBusCallBack(completion) {
@Override
public void run(MessageReply reply) {
callback.run(msg, reply);
completion.done();
}
}), parallelLevel).run(new NopeNoErrorCompletion());
}

代码示例来源:origin: zstackio/zstack

public void run(NoErrorCompletion completion) {
DebugUtils.Assert(consumer != null, "each() or all() or step() must be called before run()");
if (items.isEmpty()) {
completion.done();
return;
}
if (mode == EACH) {
run(items.iterator(), completion);
} else if (mode == ALL) {
runAll(completion);
} else if (mode == STEP) {
runStep(completion);
} else {
DebugUtils.Assert(false, "should be here");
}
}

代码示例来源:origin: zstackio/zstack

new While<>(vmUuids).step((vmUuid, compl) -> {
MigrateVmMsg msg = new MigrateVmMsg();
msg.setVmInstanceUuid(vmUuid);
List errors = Collections.synchronizedList(new ArrayList<>());
List vmFailedToStop = Collections.synchronizedList(new ArrayList<>());
new While<>(vmUuids).step((vmUuid, coml) -> {
StopVmInstanceMsg msg = new StopVmInstanceMsg();
msg.setVmInstanceUuid(vmUuid);

代码示例来源:origin: zstackio/zstack

new While<>(mons).each((mon, compl) -> {
GetFactsCmd cmd = new GetFactsCmd();
cmd.uuid = self.getUuid();

代码示例来源:origin: zstackio/zstack

new While<>(msgs).all((msg, compl) -> bus.send(msg, new CloudBusCallBack(compl) {
@Override
public void run(MessageReply reply) {
})).run(new NoErrorCompletion(completion) {
@Override
public void done() {

代码示例来源:origin: zstackio/zstack

List selectedHosts = new ArrayList<>();
List errs = new ArrayList<>();
new While<>(hosts).each((h, wcmpl) -> {
reserveHost(h, new Completion(wcmpl) {
@Override
}).run(new NoErrorCompletion(completion) {
@Override
public void done() {

代码示例来源:origin: zstackio/zstack

@Override
public void send(List msgs, int parallelLevel, CloudBusListCallBack callBack) {
DebugUtils.Assert(!msgs.isEmpty(), "you cannot pass an empty message list to me");
msgs.forEach(this::evaluateMessageTimeout);
Map replies = Collections.synchronizedMap(new HashMap<>(msgs.size()));
new While<>(msgs).step((msg, completion) -> send(msg, new CloudBusCallBack(completion) {
@Override
public void run(MessageReply reply) {
replies.put(msg.getId(), reply);
completion.done();
}
}), parallelLevel).run(new NoErrorCompletion(callBack) {
@Override
public void done() {
List results = new ArrayList<>();
assert msgs.size() == replies.size();
msgs.forEach(msg -> results.add(replies.get(msg.getId())));
callBack.run(results);
}
});
}

代码示例来源:origin: zstackio/zstack

new While<>(detachIsoFromVmInstanceMsgs).all((detachIsoFromVmInstanceMsg, completion) -> {
bus.send(detachIsoFromVmInstanceMsg, new CloudBusCallBack(completion) {
@Override

代码示例来源:origin: zstackio/zstack

new While<>(msgs).all((msg, whileCompletion) -> {
bus.send(msg, new CloudBusCallBack(whileCompletion) {
@Override
}).run(new NoErrorCompletion(completion) {
@Override
public void done() {

代码示例来源:origin: zstackio/zstack

new While<>(ps).each((pvo, completion) -> {
mount(PrimaryStorageInventory.valueOf(pvo), inv.getUuid(), new Completion(completion){
}).run(new NoErrorCompletion() {
@Override
public void done() {

代码示例来源:origin: zstackio/zstack

private void syncVolumeSize(){
new While<>(volumeUuids).step((volUuid, completion) -> {
if (!volumeInTracking.add(volUuid)) {
completion.done();
return;
}
SyncVolumeSizeMsg msg = new SyncVolumeSizeMsg();
msg.setVolumeUuid(volUuid);
bus.makeTargetServiceIdByResourceUuid(msg, VolumeConstant.SERVICE_ID, volUuid);
bus.send(msg, new CloudBusCallBack(msg) {
@Override
public void run(MessageReply reply) {
volumeInTracking.remove(msg.getVolumeUuid());
if (!reply.isSuccess()) {
logger.warn(String.format("fail to refresh volume[uuid:%s] size, try again soon", volUuid));
}
completion.done();
}
});
}, 50).run(new NopeNoErrorCompletion());
}

代码示例来源:origin: zstackio/zstack

new While<>(msgs).all((msg, whileCompletion) -> {
bus.send(msg, new CloudBusCallBack(whileCompletion) {
@Override
}).run(new NoErrorCompletion(completion) {
@Override
public void done() {

代码示例来源:origin: zstackio/zstack

new While<>(stepCount).each((currentStep, compl) -> pingHook(new Completion(compl) {
@Override
public void success() {
})).run(new NoErrorCompletion(msg) {
@Override
public void done() {

代码示例来源:origin: zstackio/zstack

@Override
public void afterHostConnected(HostInventory inv) {
if (inv.getStatus().equals(HostStatus.Connected.toString())){
List vmUuids = Q.New(VmInstanceVO.class).select(VmInstanceVO_.uuid)
.eq(VmInstanceVO_.hostUuid, inv.getUuid())
.listValues();
if(vmUuids.isEmpty()){
return;
}
new While<>(vmUuids).step((vmUuid, completion) -> {
VmCheckOwnStateMsg msg = new VmCheckOwnStateMsg();
msg.setVmInstanceUuid(vmUuid);
bus.makeTargetServiceIdByResourceUuid(msg, VmInstanceConstant.SERVICE_ID, vmUuid);
bus.send(msg, new CloudBusCallBack(completion) {
@Override
public void run(MessageReply reply) {
if(!reply.isSuccess()){
logger.warn(String.format("the host[uuid:%s] connected, but the vm[uuid:%s] fails to " +
"update it's state , %s", inv.getUuid(), vmUuid, reply.getError()));
}
completion.done();
}
});
}, 200).run(new NopeNoErrorCompletion());
}
}
}

代码示例来源:origin: zstackio/zstack

new While<>(msgs).all((msg, noErrorCompletion) -> {
bus.send(msg, new CloudBusCallBack(noErrorCompletion) {
@Override
}).run(new NoErrorCompletion(completion) {
@Override
public void done() {

代码示例来源:origin: zstackio/zstack

private void rollbackCertificate(VirtualRouterVmInventory vr, List struct, final NoErrorCompletion completion){
Set certificateUuids = getCertificates(struct);
new While<>(certificateUuids).each((uuid, wcmpl) -> {
VirtualRouterAsyncHttpCallMsg msg = new VirtualRouterAsyncHttpCallMsg();
msg.setVmInstanceUuid(vr.getUuid());
msg.setPath(DELETE_CERTIFICATE_PATH);
CertificateCmd cmd = new CertificateCmd();
cmd.setUuid(uuid);
msg.setCommand(cmd);
bus.makeTargetServiceIdByResourceUuid(msg, VmInstanceConstant.SERVICE_ID, vr.getUuid());
bus.send(msg, new CloudBusCallBack(wcmpl) {
@Override
public void run(MessageReply reply) {
wcmpl.done();
}
});
}).run(new NoErrorCompletion(completion) {
@Override
public void done() {
completion.done();
}
});
}

代码示例来源:origin: zstackio/zstack

@Override
public void afterChangeHostStatus(String hostUuid, HostStatus before, HostStatus next) {
if(next == HostStatus.Disconnected) {
List vmUuids = Q.New(VmInstanceVO.class).select(VmInstanceVO_.uuid)
.eq(VmInstanceVO_.hostUuid, hostUuid)
.listValues();
if(vmUuids.isEmpty()){
return;
}
new While<>(vmUuids).step((vmUuid, completion) -> {
VmStateChangedOnHostMsg msg = new VmStateChangedOnHostMsg();
msg.setVmInstanceUuid(vmUuid);
msg.setHostUuid(hostUuid);
msg.setStateOnHost(VmInstanceState.Unknown);
bus.makeTargetServiceIdByResourceUuid(msg, VmInstanceConstant.SERVICE_ID, vmUuid);
bus.send(msg, new CloudBusCallBack(completion) {
@Override
public void run(MessageReply reply) {
if(!reply.isSuccess()){
logger.warn(String.format("the host[uuid:%s] disconnected, but the vm[uuid:%s] fails to " +
"change it's state to Unknown, %s", hostUuid, vmUuid, reply.getError()));
} else {
logger.debug(String.format("the host[uuid:%s] disconnected, change the VM[uuid:%s]' state to Unknown", hostUuid, vmUuid));
}
completion.done();
}
});
}, 200).run(new NopeNoErrorCompletion());
}
}

代码示例来源:origin: zstackio/zstack

new While<>(msgs).all((msg, com) -> bus.send(msg, new CloudBusCallBack(com) {
@Override
public void run(MessageReply reply) {
})).run(new NoErrorCompletion() {
@Override
public void done() {

推荐阅读
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • 我正在尝试使用scrapycrallsingle运行完美运行的scrapy蜘蛛,但我无法在python脚本中运行它.主要问题是从不执行SingleBlogSpider.parse方 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 由于同源策略的限制,满足同源的脚本才可以获取资源。虽然这样有助于保障网络安全,但另一方面也限制了资源的使用。那么如何实现跨域呢,以下是实现跨域的一些方法。 ... [详细]
  • Matlab 中的一些小技巧(2)
    1.Ctrl+D打开子程序  在MATLAB的Editor中,将输入光标放到一个子程序名称中间,然后按Ctrl+D可以打开该子函数的m文件。当然这个子程序要在路径列表中(或在当前工作路径中)。实际上 ... [详细]
  • 时域|波形_语音处理基于matlab GUI音频数据处理含Matlab源码 1734期
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了语音处理基于matlabGUI音频数据处理含Matlab源码1734期相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 开发笔记:读《分布式一致性原理》JAVA客户端API操作2
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了读《分布式一致性原理》JAVA客户端API操作2相关的知识,希望对你有一定的参考价值。创 ... [详细]
author-avatar
微微aviviya
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有