stageController.offerTermin(data);
} else if (type.isWarning()) {
warningTerminProcess.process(data); // warn单独处理,不需要关闭相关的pipeline
} else {
// 内存版可以简化处理rollback/restart/shutdown模型,不需要进行process的termin操作处理
Channel channel = ArbitrateConfigUtils.getChannel(data.getPipelineId());
if (data.getType().isRollback()) {
boolean paused = channelEvent.pause(channel.getId(), false);
if (paused) {// 如果pause成功,则发送报警信息
warningTerminProcess.process(data);
}
} else if (data.getType().isShutdown()) {
boolean shutdowned = channelEvent.stop(channel.getId(), false);
// 发送报警信息
if (shutdowned) {
warningTerminProcess.process(data);
}
// 发送关闭命令给manager
StopChannelEvent event = new StopChannelEvent();
event.setChannelId(channel.getId());
arbitrateCommmunicationClient.callManager(event);
} else if (data.getType().isRestart()) {
boolean restarted = channelEvent.restart(channel.getId(), false);
// 发送报警信息
if (restarted) {
warningTerminProcess.process(data);
}
}