Seite 1 von 2

Der Service "database" wurde nicht gefunden

Verfasst: Samstag 15. Februar 2014, 12:09
von Poldi123
Hallo!

Ich habe Jverein selbst kompiliert und in Jameica installiert. Beim Start gibt es jetzt diese Exception:

java.rmi.RemoteException: error while getting database service; nested exception is:
de.willuhn.util.ApplicationException: Der Service "database" wurde nicht gefunden
at de.jost_net.JVerein.Einstellungen.getDBService(Einstellungen.java:175)
at de.jost_net.JVerein.Einstellungen.<clinit>(Einstellungen.java:108)
at de.jost_net.JVerein.gui.boxes.MitgliedNextBGruppeChecker.selektiereMitgliederZumAendern(MitgliedNextBGruppeChecker.java:80)
at de.jost_net.JVerein.gui.boxes.MitgliedNextBGruppeChecker.mussMitgliedGeaendertWerden(MitgliedNextBGruppeChecker.java:68)
at de.jost_net.JVerein.gui.boxes.MitgliedNextBGruppeChecker.<init>(MitgliedNextBGruppeChecker.java:61)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at de.willuhn.jameica.services.BeanService.get(BeanService.java:141)
at de.willuhn.jameica.gui.boxes.BoxRegistry.getBoxes(BoxRegistry.java:66)
at de.willuhn.jameica.gui.internal.views.Start.bind(Start.java:74)
at de.willuhn.jameica.gui.GUI$4.run(GUI.java:639)
at org.eclipse.swt.custom.BusyIndicator.showWhile(Unknown Source)
at de.willuhn.jameica.gui.GUI$5.run(GUI.java:810)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Unknown Source)
at org.eclipse.swt.widgets.Display.syncExec(Unknown Source)
at de.willuhn.jameica.gui.GUI.startSync(GUI.java:806)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:535)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:470)
at de.willuhn.jameica.gui.internal.action.Start.handleAction(Start.java:31)
at de.willuhn.jameica.gui.Navigation.start(Navigation.java:385)
at de.willuhn.jameica.gui.Navigation.access$500(Navigation.java:52)
at de.willuhn.jameica.gui.Navigation$MyActionListener.handleEvent(Navigation.java:480)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.notifyListeners(Unknown Source)
at de.willuhn.jameica.gui.Navigation.select(Navigation.java:359)
at de.willuhn.jameica.gui.GUI.loop(GUI.java:822)
at de.willuhn.jameica.gui.GUI.init(GUI.java:310)
at de.willuhn.jameica.system.Application.init(Application.java:148)
at de.willuhn.jameica.system.Application.newInstance(Application.java:90)
at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: de.willuhn.util.ApplicationException: Der Service "database" wurde nicht gefunden
at de.willuhn.jameica.system.ServiceFactory.lookup(ServiceFactory.java:231)
at de.jost_net.JVerein.Einstellungen.getDBService(Einstellungen.java:169)
... 35 more

Poldi123

Re: Der Service "database" wurde nicht gefunden

Verfasst: Samstag 15. Februar 2014, 18:04
von heiner
Version ?

Heiner

Re: Der Service "database" wurde nicht gefunden

Verfasst: Samstag 15. Februar 2014, 19:00
von Poldi123
Hallo!

Per git von gestern abend.

Viele Grüße,

Poldi123

Re: Der Service "database" wurde nicht gefunden

Verfasst: Sonntag 16. Februar 2014, 20:14
von heiner
Eigentlich kommen noch andere Meldungen in der Loggingdatei vor dem von dir geposteten Stacktrace. Gibt es bei dir welche? Wenn MySQL eingesetzt wird: Wirklick korrekt konfiguriert?

Heiner

Re: Der Service "database" wurde nicht gefunden

Verfasst: Dienstag 18. Februar 2014, 16:47
von blafoo
Hallo,

habe das Problem ebenfalls, konnte es jetzt aber eingrenzen. Die Ursache scheint in den Commits zwischen dem 19.1. und 25.1. zu liegen.

"Neuer Build" vom 19.01. geht noch problemlos, "Neuer Build" vom 25.01. aber nicht mehr.

Re: Der Service "database" wurde nicht gefunden

Verfasst: Dienstag 18. Februar 2014, 17:19
von blafoo
So, und die Lösung ist.....

JVereinPlugin.update()

Hier werden aus den Settings-Objekt 4 jdbc-Werte ausgelesen, die (bei mir) alle leer sind. Das anschließende Class.forName(driver[=null]) führt dann zu einer Application Exception wodurch das JVerein-Plugin nicht richtig gestartet wird.

@Heiner Was soll da drin stehen ?

Re: Der Service "database" wurde nicht gefunden

Verfasst: Dienstag 18. Februar 2014, 18:30
von heiner
Hallo blafoo,

Code: Alles auswählen

  /**
   * This method will be executed on every version change.
   */
  @Override
  public void update(final Version oldVersion) throws ApplicationException
  {
    call(new ServiceCall()
    {

      @Override
      public void call(JVereinDBService service) throws RemoteException
      {
        service.update(oldVersion, getManifest().getVersion());
      }
    });
  }

In meiner Update-Methode werden keine Settings ausgelesen.

Heiner

Re: Der Service "database" wurde nicht gefunden

Verfasst: Dienstag 18. Februar 2014, 19:22
von blafoo
Es gibt zwei update() Methoden :D

Code: Alles auswählen

private void update() throws ApplicationException
  {
    String driver = settings.getString("jdbc.driver", null);
    String url = settings.getString("jdbc.url", null);
    String username = settings.getString("jdbc.user", null);
    String password = settings.getString("jdbc.password", null);
    try
    {
      Class.forName(driver);
      Connection connection = DriverManager.getConnection(url, username,
          password);
   ...

Re: Der Service "database" wurde nicht gefunden

Verfasst: Dienstag 18. Februar 2014, 21:38
von heiner
Hallo,

ziehe dir noch einmal den aktuellen Stand. Darin gibt es jetzt eine erste Version des Datenbankverbindungsdialog. Der Dialog poppt auf, wenn die Parameter fehler oder über den Administrationsbereich.

Heiner

Re: Der Service "database" wurde nicht gefunden

Verfasst: Dienstag 18. Februar 2014, 21:51
von blafoo
Dialog poppt hoch, ist auch sauber vorbelegt. Der Service "database" wird trotzdem nicht gefunden... Ursache schaue ich mir morgen an.

Was ist der (technische) Hintergrund ? Wozu werden die Daten benötigt ?