STrojette
Returning Observer

Service im ServerManager konfigurieren wenn dieser nicht gestartet ist?

Jump to solution

Hallo zusammen!

Ich bin gerade auf ein unerwartetes Problem bei der Implementierung meines Services gestoßen:

Der ServerManager erlaubt das Konfigurieren von Services (innerhalb von Modulen) nur wenn diese gestartet sind.

Der Service den ich implementiere muss über ServerManager -> Module konfiguriert werden.

Ist der Service falsch konfiguriert, verhindere ich das Starten des Services.

Dadurch landet dieser jedoch in einem "Deadlock" und kann weder gestartet noch konfiguriert werden!

Kann ich selbst bestimmen, ob der Service konfiguriert werden kann, wenn dieser läuft oder nicht läuft,

oder muss ich in den sauren Apfel beißen und das Starten des Services auch bei falscher Config zulassen?

Vielen Dank für jede Hilfe.

Hoffe Ihr seid alle gesund und munter. Smiley Happy

1 Solution

Accepted Solutions

Manchmal hilft es wenn man mit frischen & wachen Augen auf das Problem schaut. :smileylaugh:

Ich habe die Stelle gefunden. Ist tatsächlich selbstgemacht.

Vielen Dank für das Interesse bIT.sosswald​. Thema hat sich erledigt.

Falls es jemanden interessiert, man kann das Verhalten über die load-Methode innerhalb YourServiceConfigPanel implements Configuration<ServerEnvironment> steuern.

View solution in original post

4 Replies
bIT_sosswald
Returning Responder

Hi Sammy,
(von mir aus gerne du Smiley Wink)

welche Version von FirstSpirit verwendest du denn und Isolated- oder Legacy-Mode?

Ich habe das Verhalten gerade auf einer etwas älteren lokalen Version (2019-02) im Legacy-Mode versucht nachzustellen und konnte den Service konfigurieren, auch wenn er nicht gestartet war. - Bei Gelegenheit versuche ich auch mal das Verhalten in einer neueren Version nachzustellen, nicht dass sich da etwas geändert hat.

338941_pastedImage_2.png

Beste Grüße

Sandro

0 Kudos

Hallo Sandro!

Ich bin auf 2019-12 (191208) unterwegs.

Ist eben die Frage ob man das Verhalten selbst in der Hand hat, oder global vom ServerManager gesteuert wird.

0 Kudos

Hi Sammy,

kommt bei dir irgend eine Meldung im Servermanager oder etwas im fs-server.log?

Mir ist bisher noch nie aufgefallen, dass man den Service nicht konfigurieren kann, solange er nicht gestartet ist.

Habe gerade nochmal auf einer FS 2020-04 getestet (ebenfalls Legacy-Mode) und kann dort auch den Service konfigurieren, wenn er nicht gestartet ist.

Implementierungsbeispiel:

<service>

<name>Name</name>

<description>Description</description>

<class>com.xx.fs52.bridgingit.UserDataService</class>

<resources>

<resource name="UserDataService" scope="module">lib/${project.artifactId}-${project.version}-jar-with-dependencies.jar</resource>

</resources>

<configurable>com.xx.fs52.bridgingit.UserDataServiceConfiguration</configurable>

</service>

Und in der Configuration-Klasse:

public class UserDataServiceConfiguration extends GenericConfigPanel<ProjectEnvironment> {

    @Override

    public void configure() {

        builder()

                .title("Configuration")

                .text("UserDataService URL", "userDataServiceUrl", "", "The URL of the UserDataService e.g. 'https://example.com/bgnuserdataservice/rest/userdata/get?uid=' or 'http://localhost:8088/rest/userdata/get?uid='");

    }

}

Für kleinere und einfachere Konfigurationen nehme ich gerne die GenericConfig - a utility lib to create &lt;configurable&gt; dialogs​, da die mir relativ viel Arbeit mit Speichern und Auslesen der Daten abnimmt.

Ich habe also nirgends irgendeine bewusste Einstellung vorgenommen um das Verhalten zu beeinflussen.

Wenn du im Isolated-Mode unterwegs bist, könnte ich mir vorstellen, dass dich da etwas geändert hat. Bisher habe ich nur für den Legacy-Mode entwickelt.

Grüße

Sandro

0 Kudos

Manchmal hilft es wenn man mit frischen & wachen Augen auf das Problem schaut. :smileylaugh:

Ich habe die Stelle gefunden. Ist tatsächlich selbstgemacht.

Vielen Dank für das Interesse bIT.sosswald​. Thema hat sich erledigt.

Falls es jemanden interessiert, man kann das Verhalten über die load-Methode innerhalb YourServiceConfigPanel implements Configuration<ServerEnvironment> steuern.