Verificando o sucesso da geração de documentos

O método publishSync retorna apenas quando a geração de documentos remotos é concluída, se a geração for bem-sucedida ou não. Quando esse método retorna, é possível verificar o código de resultado para determinar o status. Outra opção de verificação é usar o método publish que é assíncrono. Em seguida, no encadeamento do cliente, você pode aguardar até que o encadeamento esteja concluído e verificar o status usando o método getStatus do gerador.

Usando o método publishSync:

   RRDGEngine.EngineStatus status = generator.publishSync(docSpec, previewQueryLimit);
   // At this point all is done ( successfully or not) and the job status  is in the status variable

Usando o método publish:

Na maioria dos casos, o método publishSync é o método mais conveniente. O método publish pode ser utilizado quando o código do cliente não aguarda o término da tarefa, especialmente no cenário de geração de documento remoto, para que a verificação não bloqueie o aplicativo cliente.
Para tarefas assíncronas, o fluxo é:
  • Iniciar tarefa
  • Pesquisa a tarefa periodicamente para ver se ela terminou
        Thread t = generator.publish(docSpec, previewQueryLimit);
        // this reeturns almost immediately and at this point the docgen is usually still running so the client code needs to wait for it

        // wait for the job to finish
        try
        {
            t.join();

            // here the job is finished and it status can be obtaine with
            RRDGEngine.EngineStatus status = generator.getStatus();
        }
        catch (InterruptedException e)
        {
            throw new RPEException(e);
        }