Fortuna Entwickler Blog

Hier wird Ihnen geholfen

Scheduler updaten

Allgemein

Im derzeitigen System existieren zwei Scheduler Services, die für Web-Tasks auf dem Server WEB3 und für VWS-Tasks auf IASPROD2 laufen. Beide Scheduler Programme sind Windows Services und befinden sich in der selben Solution:

Fortuna Scheduler updaten

Um den Fortuna Scheduler zu updaten, muss man zunächst die Solution öffnen. Anschließend stellt man sicher, dass die Build-Configuration auf RELEASE steht für eine Produktivübergabe (Testübergaben finden bei Scheduler in der Regel nicht statt).

Anschließend die gesamte Solution builden. Ist dies erfolgreich, so wechselt man in das Release-Verzeichnis des Projektes "Fortuna.Scheduler.Service". Von hier kopiert man alle DLL-Dateien und die "Fortuna.Scheduler.Service.exe" in ein TEMP-Verzeichnis auf dem Server WEB3.

Nun muss man sich per Remote Desktop auf WEB3 anmelden und den Dienst zunächst stoppen


Wenn dies erledigt ist, können die DLL-Dateien aus dem TEMP-Verzeichnis in das Arbeitsverzeichnis des Scheduler Service kopiert und die vorhandenen Dateien überschrieben werden (Sicherung vorher bietet sich an). Das Arbeitsverzeichnis befindet sich auf WEB3 hier: "C:\Program Files\Fortuna Scheduler"

Sind neue Jobs hinzugekommen oder muss die Konfiguration bestehender Jobs angepasst werden, so muss dies in der Datei "jobconfig.xml" durchgeführt werden. Anschließend kann der Service wieder gestartet werden. Über das Ereignisprotokoll des Betriebssystems kann festgestellt werden, ob der Dienst fehlerfrei gestartet wurde, oder ob Fehler aufgetreten sind. Einige Fehler stellen sich aber auch erst heraus, wenn die ersten Jobs zum ersten Mal ausgeführt werden.

VWS Scheduler updaten

Bei dem VWS Scheduler läuft es ähnlich ab. Nach dem lokalen Builden auf RELEASE-Config, wechselt man in das Release-Verzeichnis des Projekts "Fortuna.Scheduler.VWS". Auch hier nimmt man alle DLL-Dateien und die "Fortuna.VWS.Scheduler.Service.exe" und kopiert sie zunächst in ein TEMP-Verzeichnis auf der Maschine IASPROD2.

Auch hier muss man sich per Remotedesktop anmelden und als erstes den Dienst stoppen. 

Nun werden die DLL-Dateien aus dem TEMP-Verzeichnis in das Arbeitsverzeichnis des Scheduler kopiert (Sicherung vorher). Das Arbeitsverzeichnis ist hier: "C:\myLife\Tools\Scheduler". Wenn Anpassungen an den Jobs durchzuführen sind, dann wird dies ebenfalls in der "jobconfig.xml" gemacht. Nun kann auch dieser Service wieder gestartet werden. Fehler werden im Ereignisprotokoll festgehalten.

Probleme mit DevArt

Hin und wieder kann es bei einer Produktivübergabe zu Problemen mit DevArt kommen. Die äußern sich dadurch, dass es bei der ersten Ausführung eines Jobs nach einer Übergabe zu Fehlern beim Zugriff auf die DB kommt:


Dies liegt daran, dass die Lizenz nicht korrekt in die Anwendung integriert wurde. Um dies zu beheben, muss man im Visual Studio in der Scheduler Solution die Lizenz neu in die Anwendung integrieren:

Bei allen fehlerhaften Assemblies muss der "Fix-Button" gedrückt werden:


Anschließend muss die Solution erneut kompiliert werden und die Dateien im Arbeitsverzeichnis des Scheduler auf WEB3 oder IASPROD2 noch einmal ausgetauscht werden (Dienst vorher beenden und nach dem Kopieren neustarten). 

Zusätzliche Tätigkeiten nach Update einer IWM Version

Nachdem das von IWM gelieferte Update eingespielt wurde,sind immer noch weitere Tätigkeiten notwendig, um unsere Individuellen Anpassungen zu übernehmen:

  • jtds-1.2.6.jar von C:\Temp\ nach C:\IWM\apache-tomcat-6.0.18\webapps\PortalNeu\WEB-INF\lib kopieren
  • kopieren aller Dateien unter C:\Sicherung\{Datum}\PortalNeu\jsf\hauptmaske\navigator nach C:\IWM\apache-tomcat-6.0.18\webapps\PortalNeu\jsf\hauptmaske\navigator
  • kopieren von anmeldung5.jsp aus C:\Sicherung\{Datum}\PortalNeu\jsf\anmeldung nach C:\IWM\apache-tomcat-6.0.18\webapps\PortalNeu\jsf\anmeldung
  • Abgleichen von C:\IWM\apache-tomcat-6.0.18\webapps\PortalNeu\user\user_config.xml mit der bisherigen Version unter C:\Sicherung\[Datum]\PortalNeu\user\user_config.xml. Dies muss mittels eines Texteditors, idealerweilse über ein Diff geschehen (Notepad++ ist hier z.B. gut geeignet). Fehlende Einträge müssen in die neue Datei übernommen werden; geänderte Einträge werden nicht korrigiert.
  • Das Verzeichnis C:\Sicherung\[Datum]\PortalNeu\user\ nach C:\IWM\apache-tomcat-6.0.18\webapps\PortalNeu\user\ überkopieren um bisherige Inhalte zu übernehmen. Bestehende Daten werden ersetzt

 

Fehler im Apache Tomcat

Ich musste heute feststellen, das der Apache Tomcat auf CRMTESTHK nicht mehr läuft. Der dienst war gestoppt und ein Starten brachte jedes Mal eine Fehlermeldung. Auch das erneute setzen der Benutzerangaben oder das Umstellen des Dienstes auf den Systemaccount brachte nichts; es war wohl keine Berechtigungsfrage.

Im stdout.log in den Apache Logs fand ich nach kurzer Suche eine Fehlermeldung:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

Eine kurze Google Recherche ergab, daß es wohl ein Problem mit der Java-Installation sein muss. Ohne lange weiterzuprobieren habe ich dann Java deinstalliert und anschließend aus dem Installationspaket von IWM neu installiert. Danach lies sich der Apache Tomcat auch gleich wieder starten.

Meine Vermutung zur Ursache: Durch eines der nach der Installation durchgeführten Java Updates, lief Tomcat nicht mehr; ich werde die Updaten künftig ignorieren.