Class BaseCmdService

java.lang.Object
at.letto.basespringboot.service.BaseCmdService

@Service public class BaseCmdService extends Object
Service für die Ausführung von Threads am Server
  • Field Details

    • windows

      private boolean windows
    • rootPath

      private String rootPath
    • cmdCharset

      private String cmdCharset
    • threads

      private Vector<CmdThread> threads
    • charset

      private String charset
  • Constructor Details

    • BaseCmdService

      public BaseCmdService()
  • Method Details

    • init

      public void init(boolean windows, String rootPath, String cmdCharset)
    • saveThreads

      public String saveThreads(File file)
      speichert alle Threads der Threadliste als JSON in einer Datei
    • loadThreads

      public String loadThreads(File file)
      Lädt alle Threads aus einer Datei in die Threadliste
    • cmdScriptBackground

      public CmdThread cmdScriptBackground(String backlink, String homedir, String... cmd)
      Führt ein Kommando auf der Kommandozeile oder Linux-Shell immer über ein Script aus
      Die Ausführung erfolgt asynchron in einem eigenen Thread
      Parameters:
      backlink - Backlink für den Link am Ende der Ausführung
      homedir - Basisverzeichnis der Ausführung
      cmd - Kommando welches ausgeführt werden soll
      Returns:
      Thread
    • cmdScriptBackgroundTL

      public CmdThread cmdScriptBackgroundTL(String backlink, String template, String homedir, String... cmd)
      Führt ein Kommando auf der Kommandozeile oder Linux-Shell immer über ein Script aus
      Die Ausführung erfolgt asynchron in einem eigenen Thread
      Parameters:
      backlink - Backlink für den Link am Ende der Ausführung
      template - HTML-Template Name als Backlink am Ende der Ausführung
      homedir - Basisverzeichnis der Ausführung
      cmd - Kommando welches ausgeführt werden soll
      Returns:
      Thread
    • cmdBackground

      public CmdThread cmdBackground(String backlink, String homedir, String... cmd)
      Führt ein Kommando auf der Kommandozeile oder Linux-Shell aus immer als Einzelprozess, auch bei mehreren Kommandos
      Die Ausführung erfolgt asynchron in einem eigenen Thread
      Parameters:
      backlink - Backlink für den Link am Ende der Ausführung
      homedir - Basisverzeichnis der Ausführung
      cmd - Kommando welches ausgeführt werden soll
      Returns:
      Thread
    • cmdForeground

      public CmdThread cmdForeground(long timeoutms, String... cmd)
      Startet einen oder mehrere Kommandozeilenbefehle im Vordergrund immer als Einzelprozesse!
      Parameters:
      timeoutms - Maximale Dauer aller Commandos bis es automatisch abgebrochen wird!
      cmd - Kommandos welches ausgeführt werden sollen
      Returns:
      Thread
    • cmdScriptForeground

      public CmdThread cmdScriptForeground(long timeoutms, String... cmd)
      Startet einen Kommandozeilenbefehl im Vordergrund aber immer im Bash-Modus
      Parameters:
      timeoutms - Maximale Dauer des Commandos bis es automatisch abgebrochen wird!
      cmd - Kommando welches ausgeführt werden soll
      Returns:
      Thread
    • cmdScriptForeground

      public CmdThread cmdScriptForeground(long timeoutms, boolean save, String... cmd)
      Startet einen Kommandozeilenbefehl im Vordergrund aber immer im Bash-Modus
      Parameters:
      timeoutms - Maximale Dauer des Commandos bis es automatisch abgebrochen wird!
      save - Gibt an ob der Thread in der Threadliste threads gespeichert werden soll
      cmd - Kommando welches ausgeführt werden soll
      Returns:
      Thread
    • cmdForeground

      public CmdThread cmdForeground(String homedir, long timeoutms, CmdThread.CmdMode cmdMode, boolean save, String... cmd)
      Startet einen Kommandozeilenbefehl im Vordergrund aber immer im Bash-Modus
      Parameters:
      homedir - Basisverzeichnis der Ausführung
      timeoutms - Maximale Dauer des Commandos bis es automatisch abgebrochen wird!
      save - Gibt an ob der Thread in der Threadliste threads gespeichert werden soll
      cmd - Kommando welches ausgeführt werden soll
      Returns:
      Thread
    • opencmd

      public String opencmd(org.springframework.ui.Model model, String backlink, CmdThread cmdThread)
    • createThread

      private CmdThread createThread(String homedir, CmdThread.CmdMode cmdMode, String... cmd)
    • addThread

      public void addThread(CmdThread cmdThread)
      Fügt einen neuen Thread zur Liste der Threads hinzu, und wartet bis zu 1000ms ob der Thread gleich fertig ist
      Parameters:
      cmdThread - neuer Thread
    • addThread

      public void addThread(CmdThread cmdThread, long waitms)
      Fügt einen neuen Thread zur Liste der Threads hinzu, und wartet bis zu waitms ob der Thread gleich fertig ist
      Parameters:
      cmdThread - neuer Thread
    • getThread

      public CmdThread getThread(long id)
    • getThread

      public CmdThread getThread(String id)
    • removeThread

      public void removeThread(CmdThread cmdThread)
    • htmlStatusInfo

      public String htmlStatusInfo()