前のトピック: ソフトウェア コンテナの作成次のトピック: ジョブの封印および起動


ソフトウェア ジョブの作成

ソフトウェア パッケージを配信するために設計されたソフトウェア ジョブを作成する準備ができます。 新しいコンテナの UUID、パッケージのプロシージャの UUID、およびジョブを配信するすべてのユニットやグループの UUID を確認しておく必要があります。

例 10: インストール ジョブの作成

//このメソッドによって、新しく作成されたコンテナ内のパッケージ プロシージャに対して
//ソフトウェア ジョブが設定され、実行する準備ができます
private int createJob() throws Exception
{
	CreateSoftwareJobOrderProperties props = new CreateSoftwareJobOrderProperties();
		
	//ジョブにブート マスクを設定します
	SoftwareJobBootMask mask = new SoftwareJobBootMask();
	mask.setNoReboot(true);
	props.setBootAfterMask(mask);
	props.setBootBeforeMask(mask);
	props.setBootAfterMaskSupplied(true);
	props.setBootBeforeMaskSupplied(true);
		
	//ジョブ固有のプロパティを設定します
	props.setJobName(cfg.getJobName());
	props.setJobNameSupplied(true);
		
	//オペレーション マスクを設定します
	SoftwareJobOperationMask opMsk = new SoftwareJobOperationMask();
	opMsk.setAutoDeliverItem(true);
	opMsk.setOffline(false);
	props.setOperationMask(opMsk);
	props.setOperationMaskSupplied(true);
		
	//主に実行時間を処理するための追加設定プロパティ
	props.setPromptTimeoutHours(21l);
	props.setPromptTimeoutHoursSupplied(true);
	props.setStartWhenSupplied(true);
	props.setStartWhen(SoftwareJobStartupTime.value2);//local-time
	props.setTimeoutHours(21l);
	props.setTimeoutHoursSupplied(true);
	props.setUserParametersSupplied(false);
	props.setDeliveryDateTime(getADateTime());
	props.setDeliveryDateTimeSupplied(true);
	DateTime dt = getADateTime();
	dt.setMinute(dt.getMinute()+10);
	props.setExecutionDate(dt);
	props.setExecutionDateSupplied(true);
	props.setUserParametersSupplied(false);
		
	String unitIds[] = new String[1];
	String groupIds[] = new String[1];
	String instIds[] = { "" };
		
	//ターゲットは単一のユニットです
	unitIds[0] = computerId;
	groupIds[0] = "";
		
	jobId =.wsAPIconnector.createInstallSoftwareJob(
			getSessionId(),
			packager.getProcedureID(),
			props,
			containerId,
			unitIds,
			groupIds);
		
	if(jobId.equals(""))
		return UDSMWebService.JOB_CREATION_ERROR;
			
	return UDSMWebService.RESULT_OK;
}