A publishSync metódus csak akkor tér vissza,
amikor a távoli dokumentumelőállítás befejeződött, akár sikeres az
előállítás, akár nem. A metódus visszatérése után az eredménykódból
határozhatja meg az állapotot. Másik ellenőrzési mód a
publish metódus használata, ami aszinkron.
Ezután az ügyfél szálon megvárhatja, hogy befejeződjön a szál, majd az
előállító getStatus metódusával ellenőrizheti az
állapotot.
A publishSync metódus használata:
RRDGEngine.EngineStatus status = generator.publishSync(docSpec, previewQueryLimit);
// Ezen a ponton minden befejeződött (sikeresen vagy sikertelenül) és az állapot változó tartalmazza a feladat állapotát
A publish metódus használata:
Az
esetek többségében a
publishSync metódus a
legkényelmesebb. A
publish metódus akkor használható,
amikor az ügyfél kód nem várja meg a feladat befejeződését, különösen a
távoli dokumentumelőállítási példahelyzetben, így az ellenőrzés nem
zárolja az ügyfélalkalmazást.
Aszinkron feladat esetén a folyam:
- Feladat indítása
- A feladat lekérdezése rendszeres időközönként, hogy megtudja, ha
befejeződött
Thread t = generator.publish(docSpec, previewQueryLimit);
// ez majdnem azonnal visszatér és ezen a ponton a dokumentumelőállítás általában még fut, így az ügyfél kódnak várnia kell rá
// várakozás a feladat befejeződésére
try
{
t.join();
// itt a feladat befejeződött és a következővel lehet megszerezni az állapotát:
RRDGEngine.EngineStatus status = generator.getStatus();
}
catch (InterruptedException e)
{
throw new RPEException(e);
}