minova-afis / aero.minova.cas

Service for Accessing SQL-Servers and Filesystems via JSON Abrechnung={MIN/INTERN-MIN/CORE/ZPROGRAM}
Eclipse Public License 2.0
4 stars 2 forks source link

CAS wie 11er Dienst installierbar machen #700

Open weber-minova opened 1 year ago

weber-minova commented 1 year ago

Beschreibung: Wir können den Auslieferungsprozess des CAS vereinfachen und für das Assist überhaupt auslieferbar machen. Dafür müssten wir uns nur am aero.minova.afis.dispatch.manager-Projekt orientieren.

Beispiel/ Mockup: aero.minova.afis.dispatch.manager

Abrechnung={XXX/XXX/XXX/ZPROGRAM}

weber-minova commented 1 year ago

In meinem Branch lässt sich bereits eine installierbare ch.minova.cas.jar erstellen.

Allerdings erscheint noch beim ausführen der installierten exe folgender Fehler: Exception in thread "main" java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.slf4j.impl.Log4jLoggerFactory loaded from file:/D:/Shared%20Data/DEMOAFIS/Program%20Files/cas/lib/slf4j-log4j12-1.7.0.jar). If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml: org.slf4j.impl.Log4jLoggerFactory

martins-1992 commented 10 months ago

Es sollten standardmäßig maximal 512 MB Arbeitsspeicher an das CAS vergeben werden: -Xmx512m

sdombrovski commented 1 week ago

Wenn wir CAS über Assist auslieferbar machen wollen, muss es eine Setup.xml geben im "ressources"-Ordner. Ein gutes Beispiel dafür ist (trackcontroller)[https://github.com/minova-afis/ch.minova.service.trackcontrollerweb/blob/main/src/main/resources/ch/minova/service/trackcontrollerweb/setup/Setup.xml]

Das ginge dann alles ohne Anpassungen des Assist. Theoretisch könnte Assist auch nur die pom benutzen -- allerdings sollte Setup.xml einen "revival" in 12er haben, weil es neben den Abhänigkeiten auch alle weiteren Einstellungen an einer zentralen Stelle hat (Diensteinstellungen, implizite application.properties Einstellungen, SQL, MDI und künftig bestimmt mehr).

Ob wir weiterhin unsere Abhängigkeiten in der Setup.xml definieren, lasse ich offen. Sauber wäre: Abhängigkeiten in der pom und alles andere in der Setup.xml. Durch die aktuell aktive Philosophie der "fließenden" Migration, wird Assist künftig die Abhängigkeiten in der pom genauso wie die in der Setup behandeln wenn in der Setup.xml keine Abhängigkeiten definiert wurden. Sobald das aktiv ist werden die Abhängigkeiten aus der Setup verschoben durch einen automatischen Prozess auf alle github Repos.

sdombrovski commented 1 week ago

P.S. auf alle Fälle ist das Konzept der installierbaren Module begraben. Das gilt seit über einem Jahr für Eclipse plugins und sollte auch bei allen 12er Diensten so gehandhabt werden. Jede manuelle Einstellbarkeit eines Dienstes/Moduls erfolgt aber ausschließlich über Setup.xml, siehe z.B. (application.properties)[https://github.com/minova-afis/ch.minova.nservice/blob/main/doc/wiki/Configuration.md#applicationproperties]