Zoznam parametrov z príkazového riadku je možné získať príkazom:
> bin\SGCom.bat -h
Program SGCom používa parametre z príkazového riadku predovšetkým na to, aby sa dokázal pripojiť k centrále a predstaviť sa. Nasledujúce parametre sú preto povinné:


  • -c <connectionString> – adresa, na ktorej počúva proces D2Connector.exe na príchádzajúce JAPI spojenia. Ak je JAPI spojenie šifrované, za bodkočiarkou sa nachádza cesta k súboru s certifikátom. Ak je využitá redundancia, parameter je možné zadať viackrát a vymenovať tak všetky body pripojenia. Príklady hodnoty parametra
    •  server.domain.sk:3120
    •  172.16.1.3:3121
    •  srvapp120v:3120;certifikat.crt
  • -w <applicationName> – meno konkrétne inštancie SGCom-u, ktorým sa predstaví do bodu prvého pripojenia.
  • -u <userName> – meno D2000 používateľského účtu, s ktorým sa SGCom pokúsi prihlásiť
  • -p <password> – heslo k používateľskému menu. Prihlásenie sa bez hesla nie je podporené.
  • -f <firstContact> – adresa miesta prvého kontaktu. Adresa sa skladá z mena D2000 Event-u, D2000 procesu a voliteľne z čísla inštancie D2000 eventu. Príklady:
    •  E.FirstContact@SELF.EVH
    •  E.FirstContact[1]@SGC.EVH

Ďalšími parametrami je možné vyladiť niektoré prevádzkové vlastnosti aplikácie:

  • -d <seconds> – dĺžka časového intervalu, počas ktorého logické zariadenie zotrváva v stave HardError. Štandardne je interval dlhý 300 sekúnd.
  • -k <days> – dĺžka časového intervalu, po ktorom sú dáta z DataStorage automaticky odstránené, aj keď neboli odovzdané do aplikácie. Štandardne je interval dlhý 90 dní.
  • -n <seconds> – dĺžka časového intervalu, ktorý sa čaká na zadanie novej úlohy pred uzatvorením spojenia k logickému zariadeniu. Štandardne sa čaká 10 sekúnd.
  • -r <retryLimit> – maximálny počet po sebe nasledujúcich neúspešných pokusov o pripojenie sa k logickému zariadeniu, po ktorých je zariadenie prehlásené za odpojené – navodený stav HardError. Štandardne sa pokus opakuje maximálne 3-krát.
  • -s <seconds> – dĺžka ochranného časového intervalu, keď po zrušení spojenia nie je možné používať danú komunikačnú linku. Štandardne je interval nastavený na 20 sekúnd.
  • -t <threads> – maximálny počet vlákien v ThreadPool-e, ktoré vykonávajú úlohy na logických zariadeniach. Štandardne je limit nastavený na 512 vlákien.
  • -cdt <seconds> – dĺžka časového intervalu, na ktorý je komunikácia na linke zastavená, ak dôjde k opakovanému zlyhaniu o nadviazanie spojenia s tým istým zariadením.
  • -hri<seconds> – HDLC reconnect interval - interval pre opakovanie HDLC frame.


Okrem parametrov priamo pre SGCom je možné definovať aj parametre pre JVM Java Virtual Machine – behové prostredie, v ktorom je SGCom vykonávaný.. Uvádzajú sa v premennej prostredia JAVA_OPTS oddelené medzerami vo forme:
set JAVA_OPTS=-Xmx1024m –Xms128m
Kompletný zoznam parametrov je daný použitou verziou JVM (viď. príslušnú dokumentáciu), ale v praxi boli použité:


  • -Djava.util.logging.config.file=<filename> – nastavuje cestu k súboru s parametrami pre vytváranie LOG-u (protokolu o vykonávaní).
  • -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n – umožňuje pripojenie sa k procesu cez java debugger na TCP port 8787.


Parametre pre vytváranie LOG-u


SGCom používa na vytváranie LOG-u subsystém java.util.logging. Parametre pre tento subsystém sú definované v „properties" súbore, na ktorý odkazuje parameter -Djava.util.logging.config.file. V tomto súbore je možné nastaviť úroveň podrobností, ktoré budú do LOG-u zaznamenané a to pre každý subsystém aplikácie zvlášť. Taktiež sa v súbore definuje, kam má byť LOG ukladaný.
Poznámka: Je odporúčané, ak sa z jedného adresára spúšťa viacero inštancií SGCom-u odlíšených menom, aby bol pre každú inštanciu definovaný samostatný súbor s parametrami pre LOG-ovanie.
Štruktúra súboru je podrobne popísaná v príslušnej dokumentácii Viď. dokumentáciu https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html , tu sa obmedzíme na najpoužívanejšie vlastnosti.


  • Definícia výstupov – výstup do súboru a na konzolu


handlers = java.util.logging.FileHandler, java.util.logging.ConsoleHandler


  • Úrovne závažnosti správ od najzávažnejšej sú: OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL.
  • Definovanie minimálnej úrovne závažnosti, ktorú handler publikuje


java.util.logging.FileHandler.level = ALL
java.util.logging.ConsoleHandler.level = FINE


  • Definovanie názvu súboru, do ktorého je LOG zaznamenaný. V uvedenom príklade je súbor uložený do adresára log/ a jeho názov má tvar SGom(0).1.log. Číslo v zátvorke je takmer vždy 0, používa sa iba v prípade konfliktu (ak by sa dve inštancie snažili zapisovať do rovnakého súboru). Číslo medzi bodkami označuje generáciu súboru – Program pri štarte vždy založí nový súbor a predošlé premenuje tak, že im zvýši číslo generácie.


java.util.logging.FileHandler.pattern = log/SGCom(%u).%g.log
java.util.logging.FileHandler.append = false


  • Obmedzenie veľkosti LOG súboru a počtu archivovaných generácií – v uvedenom príklade je limit stanovený na 8 MB a 6 generácií.


java.util.logging.FileHandler.limit = 8388608
java.util.logging.FileHandler.count = 6


  • Definovanie úrovne zaznamenávania správ pre jednotlivé subsystémy aplikácie. Na pomenovanie jednotlivých častí sa používajú plne kvalifikované identifikátory tried alebo ich hierarchicky nadradených celkov. Definovaná úroveň platí na všetky hierarchicky nižšie celky, ak pre niektorý podstrom nie je definovaná vlastná úroveň podrobnosti. V uvedenom príklade plati:
    •  Globálne je nastavená úroveň závažnosti INFO.
    •  Pre všetky triedy zaradené do sk.ipesoft platí úroveň ALL.
    •  Pre subsystém sk.ipesoft.sgcom.hdlc platí úroveň FINER.


.level = INFO
sk.ipesoft.level = ALL
sk.ipesoft.sgcom.hdlc.level = FINER
V prípade ladenia môže byť definovaná úroveň zvlášť pre tieto subsystémy:


  • sk.ipesoft.d2000.d2japi.connector.Connector –sledovanie JAPI komunikácie
  • sk.ipesoft.sgcom.config – sledovanie konfigurácie
  • sk.ipesoft.sgcom.dataStorage – sledovanie DataStorage-u
  • sk.ipesoft.sgcom.hdlc – sledovanie HDLC komunikácie
  • sk.ipesoft.sgcom.iec21 – sledovanie IEC 62056-21 komunikácie
  • sk.ipesoft.sgcom.serial – sledovanie sériovej komunikácie
  • sk.ipesoft.sgcom.udp – sledovanie UDP-ADDAX komunikácie
  • sk.ipesoft.sgcom.jdlms – sledovanie obslužnej knižnice nad DLMS (nie priamo DLMS komunikácia)
  • sk.ipesoft.sgcom.production.TaskExecutorImpl – sledovanie TaskExecutor-a
  • sk.ipesoft.sgcom.production.ImmediateCommandListenerImpl – sledovanie okamžitých úloh
  • sk.ipesoft.sgcom.production.ProcessStateDispatcherImpl – sledovanie notifikácii o stave



Write a comment...