Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

...

Tieto skripty bežia paralelne a nezávisle na sebe. Nezávisle na sebe sú vykonávané aj inicializačné časti (medzi BEGIN a END v ESL a metóda onInit() v Jave). Preto, ak sa v inicializačnej časti ESL inicializuje nejaký zdieľaný stav (napr. premenná schémy), v inicializačnej časti Javy tento stav nemusí byť ešte viditeľný. Je ale dodržaná kauzalita udalostí, tj. ak je v ESL nastavená lokálna premenná schémy a následne je zavolaná RPC do Javy, tak vo vykonávaní RPC v Jave je už lokálna premenná nastavená. V prípade, že je potrebné konzistentne inicializovať stav v ESL a v JAVE a potom vykonať nejakú činnosť v ESL, tak je možné riešiť to nasledovným spôsobom:

-- ESL ČASŤ --

Blok kódu
languageesl
themeRDark
titleESL ČASŤConfluence
  BEGIN
 ; inicializuj stav v ESL
 ; ...
 CALLJ ... myInit() SYNC ...
 ; na tomto mieste sa môžem spoľahnúť, že java časť onInit() aj myInit() už boli vykonané
 ; 
 ; 
 END   

...


Blok kódu
languagejava
titleJAVA ČASŤ

...

public void myInit()

...

 {

    // tu sa nainicializuje stav v

...

 jave

    // ...

...



}

prípadne--  ESL ČASŤ  --

Blok kódu
languageesl
themeRDark
titleESL ČASŤConfluence
  RPC PROCEDURE DoSomething
 ; na tomto mieste sa môžem spoľahnúť, že aj BEGIN..END časť aj onInit() a myInit() už boli vykonané
 END DoSomething
 
 BEGIN
 ; inicializuj stav v ESL
 ; ...
 CALLJ ... myInit() ASYNC ...
 END
 -------------------   

...


Blok kódu
languagejava
titleJAVA ČASŤ

...

public void myInit()

...

 {

    // tu sa nainicializuje stav v

...

 jave

    // ...

...



    callESLAsync(null, null, 0, "DoSomething", null);

...



  }
-------------------


Info
titleSúvisiace stránky:

Java ako skriptovací jazyk
Event Script Language (ESL)

...