Метод publishSync возвращает
код состояния после завершения создания документа. Кроме того,
для проверки можно использовать асинхронный метод
publish.
Затем в нити клиента можно дождаться завершения нити и проверить
состояние с помощью метода getStatus генератора.
Метод publishSync:
RRDGEngine.EngineStatus status = generator.publishSync(docSpec, previewQueryLimit);
// на этом этапе обработка завершена (успешно или нет) и состояние задания указано в переменной status
Метод publish:
В большинстве случаев наиболее удобным является метод
publishSync. Метод
publish можно использовать, если код клиента не
ожидает завершения задания, чтобы не блокировать клиентское
приложение (например, в сценарии удаленного создания документов).
Поток для асинхронных заданий выглядит следующим образом:
- Запуск задания
- Периодическая проверка состояния задания
Thread t = generator.publish(docSpec, previewQueryLimit);
// этот метод возвращает управление практически сразу и код клиента ожидает завершения процесса создания документа
// ожидание завершения задания
try
{
t.join();
// задание завершено и можно проверить его состояние
RRDGEngine.EngineStatus status = generator.getStatus();
}
catch (InterruptedException e)
{
throw new RPEException(e);
}