La méthode publishSync n'est renvoyée que si la génération de documents
à distance est terminée, qu'elle ait abouti ou non. Lorsque cette méthode est renvoyée, vous pouvez vérifier le code de résultat
pour déterminer le statut. Une autre option de vérification consiste à utiliser
la méthode publish, qui est asynchrone.
Ensuite, dans l'unité d'exécution du client, vous pouvez attendre que l'unité
d'exécution soit terminée et vérifier le statut à l'aide de la méthode
getStatus du générateur.
Utilisation de la méthode publishSync :
RRDGEngine.EngineStatus status = generator.publishSync(docSpec, previewQueryLimit);
// A ce stade, tout est terminé (correctement ou non) et le statut du travail se
trouve dans la variable status
Utilisation de la méthode publish :
Dans la
plupart des cas, la méthode
publishSync est la plus
pratique. La méthode
publish peut être utilisée lorsque le code client
n'attend pas la fin du travail, surtout dans le scénario de génération de documents à
distance, pour que la vérification ne verrouille pas l'application client.
Pour les
travaux asynchrones, le flux est le suivant :
- Démarrage du travail
- Interrogation périodique du travail pour vérifier s'il est terminé
Thread t = generator.publish(docSpec, previewQueryLimit);
// renvoyé presque immédiatement ; à ce stade, le générateur de documents est généralement actif et le code client doit l'attendre
// attente de la fin du travail
try
{
t.join();
// ici, le travail est terminé et son statut peut être obtenu comme suit :
RRDGEngine.EngineStatus status = generator.getStatus();
}
catch (InterruptedException e)
{
throw new RPEException(e);
}