Wahlzeit, was mach ich falsch?

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Wahlzeit, was mach ich falsch?
Wenn ich die SetUpFlowers.java als Java Application starte bekomme ich folgendes:

Exception in thread “main” java.lang.ExceptionInInitializerError
at org.wahlzeit.main.ModelMain.saveAll(ModelMain.java:185)
at org.wahlzeit.main.ModelMain.shutDown(ModelMain.java:72)
at org.wahlzeit.main.ScriptMain.run(ScriptMain.java:57)
at org.wahlzeit.tools.SetUpFlowers.main(SetUpFlowers.java:40)
Caused by: java.lang.NullPointerException
at org.wahlzeit.services.ObjectManager.getReadingStatement(ObjectManager.java:48)
at org.wahlzeit.model.PhotoCaseManager.loadOpenPhotoCases(PhotoCaseManager.java:137)
at org.wahlzeit.model.PhotoCaseManager.initialize(PhotoCaseManager.java:68)
at org.wahlzeit.model.PhotoCaseManager.(PhotoCaseManager.java:59)
at org.wahlzeit.model.PhotoCaseManager.(PhotoCaseManager.java:44)
… 4 more


Ist das der gesamte Fehlercode? Oder ist da noch mehr? Und wenn du normal startest, also nicht aus SetUpFlowers heraus, funktioniert Wahlzeit dann richtig, oder gibts da auch Fehler?


Ich schätze mal es hat mit dem Postgres zutun? Aber kein plan was ich da falsch gemacht habe O.o

INFO : 2014-10-19 14:06:12 154, level=sl, session=system, databaseConnection=no-database-connection, threadId=1, client=system, logType=exception, throwable=org.postgresql.util.PSQLException: FATAL: Passwort-Authentifizierung f?r Benutzer ?wahlzeit? fehlgeschlagen, stacktrace=org.postgresql.util.PSQLException: FATAL: Passwort-Authentifizierung f?r Benutzer ?wahlzeit? fehlgeschlagen
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:400)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:173)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64)
at org.postgresql.jdbc2.AbstractJdbc2Connection.(AbstractJdbc2Connection.java:138)
at org.postgresql.jdbc3.AbstractJdbc3Connection.(AbstractJdbc3Connection.java:29)
at org.postgresql.jdbc3g.AbstractJdbc3gConnection.(AbstractJdbc3gConnection.java:21)
at org.postgresql.jdbc4.AbstractJdbc4Connection.(AbstractJdbc4Connection.java:31)
at org.postgresql.jdbc4.Jdbc4Connection.(Jdbc4Connection.java:24)
at org.postgresql.Driver.makeConnection(Driver.java:410)
at org.postgresql.Driver.connect(Driver.java:280)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.wahlzeit.services.DatabaseConnection.openRdbmsConnection(DatabaseConnection.java:187)
at org.wahlzeit.services.DatabaseConnection.(DatabaseConnection.java:97)
at org.wahlzeit.services.DatabaseConnection.ensureDatabaseConnection(DatabaseConnection.java:51)
at org.wahlzeit.services.Session.ensureDatabaseConnection(Session.java:93)
at org.wahlzeit.main.ModelMain.hasGlobals(ModelMain.java:61)
at org.wahlzeit.main.ModelMain.startUp(ModelMain.java:47)
at org.wahlzeit.tools.SetUpFlowers.startUp(SetUpFlowers.java:47)
at org.wahlzeit.main.ScriptMain.run(ScriptMain.java:50)
at org.wahlzeit.tools.SetUpFlowers.main(SetUpFlowers.java:40)

INFO : 2014-10-19 14:06:12 157, level=sl, session=system, databaseConnection=no-database-connection, threadId=1, client=system, logType=exception, throwable=java.lang.NullPointerException, stacktrace=java.lang.NullPointerException
at org.wahlzeit.main.ModelMain.hasGlobals(ModelMain.java:62)
at org.wahlzeit.main.ModelMain.startUp(ModelMain.java:47)
at org.wahlzeit.tools.SetUpFlowers.startUp(SetUpFlowers.java:47)
at org.wahlzeit.main.ScriptMain.run(ScriptMain.java:50)
at org.wahlzeit.tools.SetUpFlowers.main(SetUpFlowers.java:40)

INFO : 2014-10-19 14:06:12 174, level=sl, session=system, databaseConnection=no-database-connection, threadId=1, client=system, logType=exception, throwable=org.postgresql.util.PSQLException: FATAL: Passwort-Authentifizierung f?r Benutzer ?wahlzeit? fehlgeschlagen, stacktrace=org.postgresql.util.PSQLException: FATAL: Passwort-Authentifizierung f?r Benutzer ?wahlzeit? fehlgeschlagen
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:400)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:173)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64)
at org.postgresql.jdbc2.AbstractJdbc2Connection.(AbstractJdbc2Connection.java:138)
at org.postgresql.jdbc3.AbstractJdbc3Connection.(AbstractJdbc3Connection.java:29)
at org.postgresql.jdbc3g.AbstractJdbc3gConnection.(AbstractJdbc3gConnection.java:21)
at org.postgresql.jdbc4.AbstractJdbc4Connection.(AbstractJdbc4Connection.java:31)
at org.postgresql.jdbc4.Jdbc4Connection.(Jdbc4Connection.java:24)
at org.postgresql.Driver.makeConnection(Driver.java:410)
at org.postgresql.Driver.connect(Driver.java:280)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.wahlzeit.services.DatabaseConnection.openRdbmsConnection(DatabaseConnection.java:187)
at org.wahlzeit.services.DatabaseConnection.(DatabaseConnection.java:97)
at org.wahlzeit.services.DatabaseConnection.ensureDatabaseConnection(DatabaseConnection.java:51)
at org.wahlzeit.services.Session.ensureDatabaseConnection(Session.java:93)
at org.wahlzeit.services.SessionManager.getDatabaseConnection(SessionManager.java:62)
at org.wahlzeit.services.ObjectManager.getDatabaseConnection(ObjectManager.java:40)
at org.wahlzeit.services.ObjectManager.getReadingStatement(ObjectManager.java:47)
at org.wahlzeit.model.PhotoCaseManager.loadOpenPhotoCases(PhotoCaseManager.java:137)
at org.wahlzeit.model.PhotoCaseManager.initialize(PhotoCaseManager.java:68)
at org.wahlzeit.model.PhotoCaseManager.(PhotoCaseManager.java:59)
at org.wahlzeit.model.PhotoCaseManager.(PhotoCaseManager.java:44)
at org.wahlzeit.main.ModelMain.saveAll(ModelMain.java:185)
at org.wahlzeit.main.ModelMain.shutDown(ModelMain.java:72)
at org.wahlzeit.main.ScriptMain.run(ScriptMain.java:57)
at org.wahlzeit.tools.SetUpFlowers.main(SetUpFlowers.java:40)


Sieht eindeutig danach als, als hättest du das Passwort für den Benutzer wahlzeit in postresql falsch eingestellt. Einfach nochmal machen, bzw. am besten per pgadmin3, dann sollte es passen. Außerdem vergiss nicht, dass du nicht nur den Benutzer anlegen sollst, sondern auch eine wahlzeit Datenbank und die mit dem Benutzer wahlzeit verknüpfen musst.

Kuck mal hier: https://www.youtube.com/watch?v=-f9lke78g2U

Ist zwar für Windows, aber müsste unter Linux genauso gehn. :slight_smile:

Randbemerkung: Im Video wird zusätzlich noch ne Group Role angelegt, das musst du allerdings nicht machen, es reicht einfach nur einen Benutzer und eine Datenbank wahlzeit anzulegen und die zu verknüpfen.

Zum Testen ob die Datenbank dann richtig funktioniert, kannst du per Wahlzeit einfach mal einen neuen Benutzer anlegen (also im Webbrowser) und dann in pgadmin3 eine SQL Abfrage machen:

select * from users;

Bei den Photos dann dasselbe:

select * from photos;

Da erhältst du dann die jeweiligen Tabelleneinträge der Datenbank.

Was ich allerdings komisch finde ist, dass wenn ich ein Photo per Webbrowser lösche, die Datenbank mir den Eintrag für das Photo immer noch anzeigt. Dasselbe ist auch der Fall im Tomcat-Ordner: wenn ich ein Photo per Webbrowser lösche, dann wird es nicht im data Ordner von Wahlzeit (also im Tomcat Verzeichnis, sprich das Deployment) gelöscht, sondern bleibt einfach weiterhin dort vorhanden. Weiß jmd. ob das so gewollt ist, oder ist da was bei mir nicht richtig eingestellt? Fehlermeldungen erhalte ich nämlich (bislang zumindest) keine. V:


Okay es funktioniert jetzt alles, ich frag mich bloß gerade, wann/wo ich definiert habe, dass SetupFlowerJava nach dem Benutzer wahlzeit und der db wahlzeit sucht? Iwie hab ich den schritt ausgeblendet


Naja, eigentlich sollte SetupFlowerJava doch nach wahlzeit suchen, oder? Steht ja zumindest so auf den Folien (?). Oder hab ich da schonwieder was übersehn? xD


Ich hatte ein ähnliches (das gleiche?) Problem: Ich hatte mir einen anderen user (und einen anderen namen für die datenbank) - also nicht “wahlzeit”- eingestellt. Danach musste ich in der SysConfig.java user und passwort anpassen. Danach lief SetupFlowers durch.