방법이 있습니다. 그렇습니다. 찾으려는 데이터는 Batch
테이블에 저장됩니다. ClassNumber
및 상태 필드가 있습니다. 상태가 실행중인 클래스와 일치하는 레코드를 선택하기 만하면됩니다. 레코드가 있으면 실행 중입니다.
매개 변수는 컨테이너의 Parameters
필드에 저장됩니다. 다음과 같이 클래스의 인스턴스를 만들고 압축을 풀면 컨테이너를 풀 수 있습니다 (컴파일하지 않고 점을 얻는 빠른 코드이지만 포인트를 얻습니다).
Batch batch;
SysOperationServiceController sysOperationServiceController;
YourDataContract yourDataContract;
select batch
where batch.ClassNumber = YourClassNumber
&& batch.Status == BatchStatus::Executing;
// todo: you might have to check the type of the object before assignment
// todo: also check if batch record has been found
sysOperationServiceController = batch.object();
if (sysOperationServiceController.unpack(batch.Parameters))
{
// todo: you might have to check the type of the object before assignment
yourDataContract = sysOperationServiceController.getDataContractObject('_theParemterNameOfyourDataContract');
// todo: here you can read the parameters from your contract
}
else
{
throw error("Unpack failed");
}