Glassfish 4.1.1 Connection Pool u. Resource Ref

Keeperjey1

Mitglied
Hallo zusammen, Ich habe ein Problem mit einer Web Applikation mit Datenbankanbindung, genauer mit der Referenz Ressource bezüglich des Connection Pool. Unter folgenden Voraussetzungen: Netbeans 12.3, Java JSP, Glassfish 4.1.1, MySql (über Xampp).

Der Connection Pool scheint soweit Erfolgreich denn der Ping funktioniert ( Der Flush noch nicht aber ich denke der kann erst funktionieren nachdem die Verbindung einmal funktioniert hat).

Habe ein Problem damit welche Angaben ich genau machen muss in der von Glassfish-web.xml vorgegebenen Eingabemaske bezüglich Resource Reference_Name, JNDI Name, Principal Name und Principal Passwort (glaube übrigens das ich die Angaben richtig drin habe, aber vielleicht auch nicht, schließlich funktioniert es ja nicht) aber auch in wie weit muss ich die anderen Teile beachten wie: EJB References, Resource Enviroment Reverences, Message Destination Reference. Leider sind in Tutorials im Netz nur veraltete Versionen verfügbar und nachverfolgbar, in denen eben diese Maske ganz anders aussieht.

Habe auch schon den Glassfish-Server von Netbeans entfernt, den MySql-Connetion-jar-File in den lib-Ordner von Glassfish (C:\Users\jey\glassfish-4.1.1\glassfish\domains\domain1\lib) verfrachtet und dann den Glassfish-Server wieder neu in Netbeans zugefügt. (laut Ratschlag im Netz, ob das nötig war und stimmt ist auch unklar)

Wenn ich in meine index.jsp eine Abfrage integriere und das Projekt starte bekomme ich immer folgende Fehlermeldung{style='color:black'>javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver found for jdbc/fussball"
}

Hier noch ein paar Screenshots um mein Problem besser nach zu vollziehen bzw. auch schon Fehler in meiner Struktur zu erkennen.

Würde mich freuen wenn jemand in der Runde ist, der mit diesem Konstrukt Erfahrung hat und mir hiermit helfen kann.

Danke im Voraus

Gruß Jürgen1619008399240.pngScreenshot (12).pngScreenshot (5).pngScreenshot (3).pngScreenshot (7).pngScreenshot (9).png
 
Hi mihe, erst mal Danke das du dich gemeldest hast
welches Log-File?
Wenn du dich mit der Thematik auskennst habe ich eigentlich ne andere Frage und zwar:
Ich finde ein Video-Chat mit Zoom und Bildschimteilung bedeutend effektiver als langwieriges hin und her texten. Würde mich freuen wenn du mir auf diese Weise helfen könntest (ich könnte Dir einen Link schicken für ne Zoom-Sesion wenn Du mir mitteilst wann es für Dich ok ist, denn ich bin zur Zeit den ganzen Tag zuhause). Und dann könntest Du ja mal einfach über mein Projekt drüber schauen denn ich könnte mir auch vorstellen das ich irgendwo vielleicht einen Grundlegenden Fehler noch drin habe (ich meine evtl. beim einrichten der Entwicklungsumgebung). Denn egal was ich versuche lauf ich gegen eine Wand dabei bin ich normalerweise nicht völlig Ahnungslos bei der Thematik.
Überlegs dir, mich würde es freuen wenn du mir helfen kannst. Ach ja, wenn Du mir ne SMS senden willst für das wann hier meine Nummer: #########
Nochmal Danke
Gruß Juergen
 
Zuletzt bearbeitet von einem Moderator:
[2021-04-20T20:10:54.035+0200] [glassfish 4.1] [SEVERE] [error.finding.properties] [javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.util] [tid: _ThreadID=44 _ThreadName=admin-listener(2)] [timeMillis: 1618942254035] [levelValue: 1000] [[
RAR8059: Exception while trying to find properties of class [ com.mysql.jdbc.jdbc2.optional.MysqlDataSource ], set log-level toFINE for more information, com.mysql.jdbc.jdbc2.optional.MysqlDataSource]]

[2021-04-20T20:10:54.037+0200] [glassfish 4.1] [SEVERE] [error.finding.properties] [javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.util] [tid: _ThreadID=44 _ThreadName=admin-listener(2)] [timeMillis: 1618942254037] [levelValue: 1000] [[
RAR8059: Exception while trying to find properties of class [ com.mysql.jdbc.jdbc2.optional.MysqlDataSource ], set log-level toFINE for more information, com.mysql.jdbc.jdbc2.optional.MysqlDataSource]]

Hier sehe ich einen Fehler und zwar properties of class [com.mysql.jdbc.jdbc2.optional.MysqlDataSource] aber es ist eigentlich
folgende [com.mysql.cj.jdbc.MysqlConnectionPoolDataSource] und die ist im Projekt auch entsprechend geändert denn sonst funktioniert der Ping nicht deshalb frage ich mich warum die hier überhaupt drin steht oder kann es sein das der Glassfish-Server aus welchem Grund auch immer wieder darauf zurückgreift
 
[2021-04-20T21:06:35.692+0200] [glassfish 4.1] [WARNING] [test.connection.pool.failed] [javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.service] [tid: _ThreadID=46 _ThreadName=admin-listener(4)] [timeMillis: 1618945595692] [levelValue: 900] [[
RAR8054: Exception while creating an unpooled [test] connection for pool [ fussball ], Class name is wrong or classpath is not set for : com.mysql.cj.jdbc.MySqlConnectionPoolDataSource]]

[2021-04-20T21:06:35.701+0200] [glassfish 4.1] [SEVERE] [] [org.glassfish.admingui] [tid: _ThreadID=45 _ThreadName=admin-listener(3)] [timeMillis: 1618945595701] [levelValue: 1000] [[
RestResponse.getResponse() gives FAILURE. endpoint = 'http://localhost:4848/management/domain/resources/ping-connection-pool.json'; attrs = '{id=fussball}']]

hier habe ich noch was gefunden mit der richtigen DataSource aber trotzdem ein Fehler. Irgendwo habe ich da ein Zuordnungs-Fehler aber der Ping funktioniert. Denke das es was mit der Reference Resource zu tun hat aber leider komm ich nicht drauf was genau
 
Hi, Nein das ist est nicht da ist alles wie es sein muss, sonst würde auch der Ping nicht funktionieren (und ja Du hast recht mit dem kleinen "s" aber das habe ich schon davor behoben). So wie ich das sehe ist innerhalb des Glassfish-Servers scheinbar alles richtig aber die Referenzierung ist irgendwie fehlerhaft bezüglich der Verbindung mit dem Projekt und leider gibt es im Netz auch keine aktuellen Tutorials wo man Schritt für Schritt einfach mal die Sache nachmachen könnte (alles ist mit älteren Versionen, so dass insbesondere die Masken bezüglich der Referenzierung anders sind) bin auch ziemlich Sicher das da das Problem ist aber wo genau ??????.
Und einfach nur mit den ältere Versionen arbeiten funktioniert leider auch nicht mal eben (zumindest bei mir nicht)
 
So, eben getestet, funktioniert problemlos.
  1. MySQL-Treiber nach domains1/lib. Glassfisch ggf. neu starten.
  2. Projekt bekommt eine glassfish-resource.xml mit Definition von Connection Pool und JDBC-Resource (wie bei Dir oben auf dem Bild)
  3. In die glassfish-web.xml kommt das Mapping vom lokalen Ressourcennamen auf den vom Container (wie bei Dir).
  4. Ich hab mir dann ein Servlet angelegt, dort Ressource mit @Resource injected, als name-Attribut wird der lokale Ressourcenname angegeben.
  5. Deployed, läuft.
 

Zurück
Oben