Wie fügt man PostgreSQL Datenquelle zu WildFly 9.0 hinzu?

8

Ich habe das Tutorial bei mastertheboss ausprobiert .com :

  1. ./jboss-cli.sh
  2. module add --name=org.postgres --resources=/tmp/postgresql-9.3-1101.jdbc41.jar --dependencies=javax.api,javax.transaction.api
  3. /subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)
  4. data-source add --jndi-name=java:/PostGreDS --name=PostgrePool --connection-url=jdbc:postgresql://localhost/postgres --driver-name=postgres --user-name=postgres --password=postgres

Dieses Tutorial funktioniert mit WildFly 8.2, funktioniert aber nicht mit WildFly 9.0. Der 3. Schritt schlägt mit der Fehlermeldung fehl:

%Vor%

Wie fügt man Wildfly 9.0 die Postgres-Datenquelle hinzu?

    
czerny 04.07.2015, 16:29
quelle

6 Antworten

6

Ich habe den gleichen Fehler und das gleiche Verhalten von WildFly 9 festgestellt. Ich bin ein kompletter Neuling für WF, aber nach einigen Nachforschungen habe ich festgestellt, dass das Problem in der Modulbenennung liegt. Wenn ich es gut verstehe, werden die tatsächlichen Paketnamen im Modul verwendet, um den Pfad zu module.xml aufzulösen.
Ich habe die Schritte zu denen unten geändert und es hat funktioniert:

module add --name=org.postgresql --slot=main --resources=/usr/local/lib/postgresql-9.4-1201.jdbc4.jar --dependencies=javax.api,javax.transaction.api

%Vor%     
ragelh 26.08.2015, 08:22
quelle
8

Ich führe Wildfly 10 in einem Docker aus:

%Vor%

Wo module.xml ist

%Vor%

Und Standalone enthält Treiber:

%Vor%

Dann kann die Datenquelle sein:

%Vor%

Beachten Sie, dass mein ndis-db ein Postgres-Andockfenster ist. In Ihrem Fall kann localhost sein.

Wie ich zu dem von Ihnen erwähnten Fehler gekommen bin: 1. Dateiname falsch geschrieben 2. / modules / org ... etc enthalten einen Tippfehler 3. module.xml falsch geschrieben als modules.xml 4. ...

    
Mircea Stanciu 12.06.2016 07:20
quelle
3

Es ist sehr einfach, könnte aber länger dauern, wenn Sie mit JBOSS EAP / WilFly neu sind Verwenden Sie die folgenden Schritte, um eine Datenquelle zu erstellen:

  1. Gehe zum bin-Ordner des Servers, auf dem die jboss-cli-Datei (Power-Skript) vorhanden ist: right click on jboss-cli(power script file)--> Run with power shell (eine Konsole wird geöffnet).

  2. Fügen Sie den PostgreSQL-JDBC-Treiber als Kernmodul hinzu .

  

Modul hinzufügen --name = com.postgresql   --resources = / pfad / zu / postgresql-9.3-1102.jdbc4.jar --dependencies = javax.api, javax.transaction.api

  1. Registrieren Sie den PostgreSQL-JDBC-Treiber.
  

/ subsystem = datenquellen / jdbc-driver = postgresql: hinzufügen (treibername = postgresql, treibermodulname = com.postgresql, treiber-xa-datenquelle-klassenname = org.postgresql.xa.PGXADataSource)

  1. Fügen Sie die PostgreSQL-Datenquelle hinzu.
  

Datenquelle add --name = PostgresDS --jndi-name = java: jboss / PostgresDS   --treibername = postgresql --connection-url = jdbc: postgresql: // localhost: 5432 / postgresdb --benutzername = admin --password = admin --validate-on-match = true --background-validation = false --valid-connection-checker-class-name = org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker   --exception-sorter-class-name = org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter

Seien Sie vorsichtig mit Pfad Pfad / zu Dies ist der Pfad, in dem Ihre downloaded Postgresql-jdbc.jar vorhanden ist.

    
Sai prateek 25.06.2016 10:40
quelle
1

Setzen Sie Ihren Postgres JDBC-Treiber in den Deployment-Ordner (einfach bereitstellen). Verwenden Sie jetzt die CLI-Konsole und geben Sie folgenden Befehl ein:

%Vor%

Überprüfen Sie, ob Ihr Treiber jdbc4 ist.

Ich weiß nicht warum, aber das Hinzufügen von Datenquellen über die Webkonsole funktioniert nicht. Mit CLI funktioniert.

Die richtige Lösung für die Erweiterung von JDBC-Treibern besteht darin, Treiber als Modul zum Server hinzuzufügen. In WildFly 9 können Sie es mit CLI-Konsole tun. Dies ist nicht möglich, indem Sie die JDBC-JAR-Datei (mit XML) in den Ordner "module" wie in WildFly 8 kopieren.

Befehle ausführen:

%Vor%

Um die installierten Treiber aufzulisten, geben Sie ein:

%Vor%

Mit dem Treiber, der Datenquellen erstellt, wird es einfach sein.

Bitte benutzen Sie die Version 9.0. In CR sind Fehler.

Grüße, Pawel M

    
Dentka Pawel M 06.07.2015 16:53
quelle
0

Sie erwähnen Ihre java / jdbc-Version nicht. Ich habe gerade das gleiche Problem erlebt und es war aufgrund eines Treibers vs Java 1.8 Mismatch. Mit dem Upgrade von Wildfly 9 haben Sie auch Java aktualisiert?

Die ".jdbc41." Treiberversion ist für Java 1.7 gebaut. Postgres verfügt über eine Matrix, die die Kombinationen von kompatiblen Java / JDBC- und Postgres-Treiberversionen anzeigt. Vielleicht brauchst du: postgresql-9.4.1209.jar (was für 1.8 / jdbc42 ist)

Dann in der CLI (vorausgesetzt, Domain-Modus und Profil = voll)

%Vor%     
Stephen 19.08.2016 15:11
quelle
0

Nur ein Hinweis: Ich habe die CLI-Befehle getestet, wie aus der Tutorial erwähnt, gegen WildFly 10 und es funktioniert korrekt beim Erstellen des JDBC-Treibers und der Datenquelle. Außerdem kann ich sehen, dass das gemeldete Fehlerprotokoll eine falsche Angabe des Modulnamens ("org.portgres") enthält:

%Vor%

Haftungsausschluss: Ich bin der Eigentümer von mastertheboss.com

    
Francesco Marchioni 03.10.2016 20:25
quelle