• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java StateContext类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.springframework.statemachine.StateContext的典型用法代码示例。如果您正苦于以下问题:Java StateContext类的具体用法?Java StateContext怎么用?Java StateContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



StateContext类属于org.springframework.statemachine包,在下文中一共展示了StateContext类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: executeInternal

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected void executeInternal(StateContext<SkipperStates, SkipperEvents> context) {
	ReleaseAnalysisReport releaseAnalysisReport = context.getExtendedState().get(SkipperVariables.RELEASE_ANALYSIS_REPORT,
			ReleaseAnalysisReport.class);
	int upgradeStatus = 0;
	boolean ok = upgradeStrategy.checkStatus(releaseAnalysisReport.getReplacingRelease());
	log.debug("upgradeStrategy checkStatus {}", ok);
	if (ok) {
		upgradeStatus = 1;
	}
	else if (!ok && cutOffTimeExceed(context)) {
		upgradeStatus = -1;
	}
	log.debug("Setting upgradeStatus {}", upgradeStatus);
	context.getExtendedState().getVariables().put(SkipperVariables.UPGRADE_STATUS, upgradeStatus);
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-skipper,代码行数:17,代码来源:UpgradeCheckTargetAppsAction.java


示例2: createFlowContext

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected InstanceTerminationContext createFlowContext(String flowId, StateContext<InstanceTerminationState, InstanceTerminationEvent> stateContext,
        P payload) {
    Stack stack = stackService.getByIdWithLists(payload.getStackId());
    MDCBuilder.buildMdcContext(stack);
    Location location = location(region(stack.getRegion()), availabilityZone(stack.getAvailabilityZone()));
    CloudContext cloudContext = new CloudContext(stack.getId(), stack.getName(), stack.cloudPlatform(), stack.getOwner(), stack.getPlatformVariant(),
            location);
    CloudCredential cloudCredential = credentialConverter.convert(stack.getCredential());
    Set<String> instanceIds = payload.getInstanceIds();
    CloudStack cloudStack = cloudStackConverter.convert(stack, instanceIds);
    List<CloudResource> cloudResources = cloudResourceConverter.convert(stack.getResources());
    List<InstanceMetaData> instanceMetaDataList = new ArrayList<>();
    List<CloudInstance> cloudInstances = new ArrayList<>();
    for (String instanceId : instanceIds) {
        InstanceMetaData instanceMetaData = instanceMetaDataRepository.findByInstanceId(stack.getId(), instanceId);
        CloudInstance cloudInstance = metadataConverter.convert(instanceMetaData);
        instanceMetaDataList.add(instanceMetaData);
        cloudInstances.add(cloudInstance);
    }
    return new InstanceTerminationContext(flowId, stack, cloudContext, cloudCredential, cloudStack, cloudResources, cloudInstances, instanceMetaDataList);
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:23,代码来源:AbstractInstanceTerminationAction.java


示例3: createFlowContext

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected StackSyncContext createFlowContext(String flowId, StateContext<StackSyncState, StackSyncEvent> stateContext, P payload) {
    Map<Object, Object> variables = stateContext.getExtendedState().getVariables();
    Long stackId = payload.getStackId();
    Stack stack = stackService.getByIdWithLists(stackId);
    MDCBuilder.buildMdcContext(stack);
    // we need a find all in stack where we have host metadata associated
    // if there are multiple instances with the same hostname let's use the latest one only
    Map<String, InstanceMetaData> metaDataMap = new HashMap<>();
    for (InstanceMetaData im : instanceMetaDataRepository.findAllInStack(stackId)) {
        String hostName = im.getDiscoveryFQDN();
        InstanceMetaData instanceMetaData = metaDataMap.get(hostName);
        if (instanceMetaData == null || im.getPrivateId().compareTo(instanceMetaData.getPrivateId()) == 1) {
            metaDataMap.put(hostName, im);
        }
    }
    Location location = location(region(stack.getRegion()), availabilityZone(stack.getAvailabilityZone()));
    CloudContext cloudContext = new CloudContext(stack.getId(), stack.getName(), stack.cloudPlatform(), stack.getOwner(), stack.getPlatformVariant(),
            location);
    CloudCredential cloudCredential = credentialConverter.convert(stack.getCredential());
    return new StackSyncContext(flowId, stack, new ArrayList<>(metaDataMap.values()), cloudContext, cloudCredential, isStatusUpdateEnabled(variables));
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:23,代码来源:StackSyncActions.java


示例4: setUpgradeCutOffTime

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
private void setUpgradeCutOffTime(StateContext<SkipperStates, SkipperEvents> context) {
	Long upgradeTimeout = context.getMessageHeaders().get(SkipperEventHeaders.UPGRADE_TIMEOUT, Long.class);
	if (upgradeTimeout == null) {
		upgradeTimeout = DEFAULT_UPGRADE_TIMEOUT;
	}
	long cutOffTime = System.currentTimeMillis() + upgradeTimeout;
	context.getExtendedState().getVariables().put(SkipperVariables.UPGRADE_CUTOFF_TIME,
			cutOffTime);
	log.debug("Set cutoff time as {}", cutOffTime);
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-skipper,代码行数:11,代码来源:UpgradeStartAction.java


示例5: evaluate

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
public boolean evaluate(StateContext<SkipperStates, SkipperEvents> context) {
	Integer status = context.getExtendedState().get(SkipperVariables.UPGRADE_STATUS, Integer.class);
	log.debug("Checking condition {} with upgradeStatus {}", status, upgradeStatus);
	if (status == null || status == 0) {
		return false;
	}
	else if (upgradeStatus && status > 0) {
		return true;
	}
	else if (!upgradeStatus && status < 0) {
		return true;
	}
	return false;
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-skipper,代码行数:16,代码来源:UpgradeCheckNewAppsGuard.java


示例6: executeInternal

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected void executeInternal(StateContext<SkipperStates, SkipperEvents> context) {
	log.debug("Starting action " + context);
	String releaseName = context.getMessageHeaders().get(SkipperEventHeaders.RELEASE_NAME, String.class);
	log.info("About to delete {}", releaseName);
	DeleteProperties deleteProperties = context.getMessageHeaders()
			.get(SkipperEventHeaders.RELEASE_DELETE_PROPERTIES, DeleteProperties.class);
	Release release = this.releaseService.delete(releaseName, deleteProperties.isDeletePackage());
	context.getExtendedState().getVariables().put(SkipperVariables.RELEASE, release);
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-skipper,代码行数:11,代码来源:DeleteDeleteAction.java


示例7: execute

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
public final void execute(StateContext<SkipperStates, SkipperEvents> context) {
	try {
		executeInternal(context);
	}
	catch (Exception e) {
		// any error here will lead to adding exception into
		// extended state, thus allowing machine to break up
		// from executing state.
		log.error("Action execution failed class=[" + getClass() + "]", e);
		context.getExtendedState().getVariables().put(SkipperStateMachineService.SkipperVariables.ERROR, e);
	}
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-skipper,代码行数:14,代码来源:AbstractAction.java


示例8: executeInternal

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected void executeInternal(StateContext<SkipperStates, SkipperEvents> context) {
	ReleaseAnalysisReport releaseAnalysisReport = context.getExtendedState().get(SkipperVariables.RELEASE_ANALYSIS_REPORT,
			ReleaseAnalysisReport.class);
	upgradeStrategy.cancel(releaseAnalysisReport.getExistingRelease(), releaseAnalysisReport.getReplacingRelease(),
			releaseAnalysisReport);
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-skipper,代码行数:8,代码来源:UpgradeCancelAction.java


示例9: executeInternal

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected void executeInternal(StateContext<SkipperStates, SkipperEvents> context) {
	log.info("Using UpgradeStrategy {}", upgradeStrategy);
	ReleaseAnalysisReport releaseAnalysisReport = context.getExtendedState().get(SkipperVariables.RELEASE_ANALYSIS_REPORT,
			ReleaseAnalysisReport.class);
	log.info("releaseAnalysisReport {}", releaseAnalysisReport);
	if (releaseAnalysisReport == null) {
		throw new SkipperException("ReleaseAnalysis report is null");
	}
	this.upgradeStrategy.deployApps(releaseAnalysisReport.getExistingRelease(),
			releaseAnalysisReport.getReplacingRelease(), releaseAnalysisReport);
	context.getExtendedState().getVariables().put(SkipperVariables.RELEASE, releaseAnalysisReport.getReplacingRelease());
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-skipper,代码行数:14,代码来源:UpgradeDeployTargetAppsAction.java


示例10: executeInternal

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected void executeInternal(StateContext<SkipperStates, SkipperEvents> context) {
	ReleaseAnalysisReport releaseAnalysisReport = context.getExtendedState().get(SkipperVariables.RELEASE_ANALYSIS_REPORT,
			ReleaseAnalysisReport.class);
	upgradeStrategy.accept(releaseAnalysisReport.getExistingRelease(), releaseAnalysisReport.getReplacingRelease(),
			releaseAnalysisReport);
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-skipper,代码行数:8,代码来源:UpgradeDeleteSourceAppsAction.java


示例11: s2Guard

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
private Guard<States, Events> s2Guard() {
    return new Guard<States, Events>() {
        @Override
        public boolean evaluate(StateContext<States, Events> context) {
            return false;
        }

        public String getName() {
            return "s2Guard.getName()";
        }
    };
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:13,代码来源:ChoiceJunctionSSM.java


示例12: s3Guard

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
private Guard<States, Events> s3Guard() {
    return new Guard<States, Events>() {
        @Override
        public boolean evaluate(StateContext<States, Events> context) {
            return true;
        }
    };
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:9,代码来源:ChoiceJunctionSSM.java


示例13: buildMachine

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
public StateMachine<States, Events> buildMachine() throws Exception {
    StateMachineBuilder.Builder<States, Events> builder = StateMachineBuilder.builder();

    builder.configureConfiguration()
           .withConfiguration()
           .taskExecutor(new SyncTaskExecutor())
    ;

    builder.configureStates()
           .withStates()
           .initial(States.SI)
           .state(States.S1, new Action<States, Events>() {
               @Override
               public void execute(StateContext<States, Events> context) {
                   System.out.print("test");
               }
           }, null)
           .states(EnumSet.allOf(States.class))
    ;

    builder.configureTransitions()
           .withExternal()
           .source(States.SI).target(States.S1)
           .event(Events.E1)
           .and()
           .withLocal()
           .source(States.S2).target(States.S3)
           .event(Events.E1)
           .and()
           .withExternal()
           .source(States.S2).target(States.SE)
           .event(Events.E2)
           .and()
           .withExternal()
           .source(States.S1).target(States.SE)
           .event(Events.E2);

    return builder.build();
}
 
开发者ID:WorkingDevelopers,项目名称:spring-state-machine-chart-dumper,代码行数:40,代码来源:T1.java


示例14: createFlowContext

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected StackContext createFlowContext(String flowId, StateContext<StackCreationState, StackCreationEvent> stateContext, P payload) {
    Stack stack = stackService.getByIdWithLists(payload.getStackId());
    MDCBuilder.buildMdcContext(stack);
    Location location = location(region(stack.getRegion()), availabilityZone(stack.getAvailabilityZone()));
    CloudContext cloudContext = new CloudContext(stack.getId(), stack.getName(), stack.cloudPlatform(), stack.getOwner(), stack.getPlatformVariant(),
            location);
    CloudCredential cloudCredential = credentialConverter.convert(stack.getCredential());
    CloudStack cloudStack = cloudStackConverter.convert(stack);
    return new StackContext(flowId, stack, cloudContext, cloudCredential, cloudStack);
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:12,代码来源:AbstractStackCreationAction.java


示例15: createFlowContext

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected StackScalingFlowContext createFlowContext(String flowId, StateContext<StackDownscaleState, StackDownscaleEvent> stateContext, P payload) {
    Map<Object, Object> variables = stateContext.getExtendedState().getVariables();
    Stack stack = stackService.getByIdWithLists(payload.getStackId());
    MDCBuilder.buildMdcContext(stack);
    Location location = location(region(stack.getRegion()), availabilityZone(stack.getAvailabilityZone()));
    CloudContext cloudContext = new CloudContext(stack.getId(), stack.getName(), stack.cloudPlatform(), stack.getOwner(), stack.getPlatformVariant(),
            location);
    CloudCredential cloudCredential = credentialConverter.convert(stack.getCredential());
    String instanceGroupName = extractInstanceGroupName(payload, variables);
    Set<String> instanceIds = extractInstanceIds(payload, variables, stack);
    Integer adjustment = extractAdjustment(payload, variables);
    CloudStack cloudStack = cloudStackConverter.convertForDownscale(stack, instanceIds);
    return new StackScalingFlowContext(flowId, stack, cloudContext, cloudCredential, cloudStack, instanceGroupName, instanceIds, adjustment);
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:16,代码来源:AbstractStackDownscaleAction.java


示例16: createFlowContext

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected StackScalingFlowContext createFlowContext(String flowId, StateContext<StackUpscaleState, StackUpscaleEvent> stateContext, P payload) {
    Map<Object, Object> variables = stateContext.getExtendedState().getVariables();
    Stack stack = stackService.getByIdWithLists(payload.getStackId());
    MDCBuilder.buildMdcContext(stack);
    Location location = location(region(stack.getRegion()), availabilityZone(stack.getAvailabilityZone()));
    CloudContext cloudContext = new CloudContext(stack.getId(), stack.getName(), stack.cloudPlatform(), stack.getOwner(), stack.getPlatformVariant(),
            location);
    CloudCredential cloudCredential = credentialConverter.convert(stack.getCredential());
    CloudStack cloudStack = cloudStackConverter.convert(stack);
    return new StackScalingFlowContext(flowId, stack, cloudContext, cloudCredential, cloudStack, getInstanceGroupName(variables), Collections.emptySet(),
            getAdjustment(variables), getHostNames(variables));
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:14,代码来源:AbstractStackUpscaleAction.java


示例17: createFlowContext

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected StackFailureContext createFlowContext(
    String flowId, StateContext<StackTerminationState, StackTerminationEvent> stateContext, StackFailureEvent payload) {
    Flow flow = getFlow(flowId);
    StackView stackView = stackService.getByIdView(payload.getStackId());
    MDCBuilder.buildMdcContext(stackView);
    flow.setFlowFailed(payload.getException());
    return new StackFailureContext(flowId, stackView);
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:10,代码来源:StackTerminationFailureAction.java


示例18: createFlowContext

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected StackTerminationContext createFlowContext(String flowId, StateContext<StackTerminationState, StackTerminationEvent> stateContext, P payload) {
    Stack stack = stackService.getByIdWithLists(payload.getStackId());
    MDCBuilder.buildMdcContext(stack);
    Location location = location(region(stack.getRegion()), availabilityZone(stack.getAvailabilityZone()));
    CloudContext cloudContext = new CloudContext(stack.getId(), stack.getName(), stack.cloudPlatform(), stack.getOwner(), stack.getPlatformVariant(),
            location);
    CloudCredential cloudCredential = credentialConverter.convert(stack.getCredential());
    CloudStack cloudStack = cloudStackConverter.convert(stack);
    List<CloudResource> resources = cloudResourceConverter.convert(stack.getResources());
    return new StackTerminationContext(flowId, stack, cloudContext, cloudCredential, cloudStack, resources);
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:13,代码来源:AbstractStackTerminationAction.java


示例19: createFlowContext

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected StackRepairTriggerContext createFlowContext(
        String flowId, StateContext<ManualStackRepairTriggerState, ManualStackRepairTriggerEvent> stateContext, P payload) {
    Long stackId = payload.getStackId();
    Stack stack = stackService.getByIdWithLists(stackId);
    return new StackRepairTriggerContext(flowId, stack);
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:8,代码来源:ManualStackRepairTriggerActions.java


示例20: createFlowContext

import org.springframework.statemachine.StateContext; //导入依赖的package包/类
@Override
protected StackFailureContext createFlowContext(String flowId, StateContext<S, E> stateContext, StackFailureEvent payload) {
    Flow flow = getFlow(flowId);
    StackView stack = stackService.getByIdView(payload.getStackId());
    MDCBuilder.buildMdcContext(stack);
    flow.setFlowFailed(payload.getException());
    return new StackFailureContext(flowId, stack);
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:9,代码来源:AbstractStackFailureAction.java



注:本文中的org.springframework.statemachine.StateContext类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ApacheUpnpServiceConfiguration类代码示例发布时间:2022-05-16
下一篇:
Java Bandwidth类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap