TWSz Java API 计划中的重新启动和重新启动AndCleanUp 作业

TWSz Java API restart and restartAndCleanUp job in plan

我正在寻找一个示例,了解如何使用 TWSz Java API 在 Plan 中重新启动和清理作业。为了简单重启,我正在更改作业的状态

plan.setJobInstanceStatus(jobInPlanList.get(0).getId(), FlowNodeInternalStatusType.FLOW_NODE_ZOSSTATUS_READY, "", null);

我不知道这样做是否正确?而且我找不到重新启动和清理的方法,我尝试使用组合:

plan.beginJobRestartCleanup
plan.executeJobRestartCleanup
plan.commitJobRestartAndCleanup

但没有任何工作正常。

简单重启即可将作业状态设置为就绪。 关于重新启动和清理,您应该使用以下流程: - 设置您需要传递给 beginJobRestartCleanup 的 RestartCleanupOptions 参数 api -如果需要,修改要重新启动的作业 -犯罪 - 使用 try-catch 块和 rollbackJobRestartCleanup

处理可能的异常

这是一个例子:

    try
    {
        /*
         * start the cleanup session, modify parameters if needed
         */
        RestartCleanupOptions rco = new RestartCleanupOptions();
        rco.setAction(RestartCleanupType.ACTION_JOBRERUN);
        rco.setCleanup(CleanUpOption.MANUAL);
        rco.setUseExpandedJCL(false);
        plan.beginJobRestartCleanup(restartID, rco, null);


        /*
         * Now get datasets lists for the specified restart step
         */
        List datasetList = plan.getJobDataSets(restartID, null);

        /* Here you can modify datasetList if needed*/

        /*
         * Now set the datasets
         */
        plan.setJobDataSets(restartID, datasetList, null);
        /*
         * Now get the JCL
         */
        JobControlLanguage jcl = plan.getJobJCL(restartID, true, null);

        /* Here you can modify jcl if needed*/

        /*
         * Now set the JCL
         */
        plan.setJobJCL(restartID, jcl, true, null);
        /*
         * Execute the step-restart operation
         */
        plan.executeJobRestartCleanup(restartID, "JCL", null, null, null);
        /*
         * commit the step restart phase
         */
        plan.commitJobRestartAndCleanup(JobInPlan.class, restartID, null);

    }
    catch (ConnException e)
    {
        plan.rollbackJobRestartAndCleanup(JobInPlan.class, restartID, null);
    }

希望对您有所帮助。