WildFly 18.0.1 JDBC Drivers: Kesalahan internal (newValue is null)

17

Saya punya masalah mengkonfigurasi driver JDBC di WildFly (18.0.1) .

Setiap kali saya membuka (Konfigurasi / Subsistem / Sumber Data & Driver / Driver JDBC) ,

Saya mendapat:

Kesalahan internal (Detail: newValue is null).

Gambar Kesalahan 1:

Gambar Kesalahan 2:

Bantuan apa pun akan sangat dihargai!

ayou392
sumber
Apakah ada sesuatu di log server (biasanya di standalone / log / server.log di bawah instalasi Wildfly Anda)?
stdunbar
Tidak ada dalam file log yang menunjukkan masalah. Juga tidak ada yang berubah setelah saya mendapatkan kesalahan dalam file log.
ayou392
Saya memiliki masalah yang sama dan tidak tahu mengapa. Saya menginstal versi 18.0.1_Final dan 16.0.0_Final, tetapi masalah yang sama. Apakah Anda sudah menemukan solusinya?
Paigeola

Jawaban:

3

Saya dapat mereproduksi masalah Anda sepenuhnya. Saya belum pernah menggunakan konsol Wildfly dalam beberapa waktu tetapi ini terlihat seperti bug bagi saya. Namun, ada cara lain yang memiliki keuntungan karena mudah diulang dan skrip.

Jika Anda menjalankan jboss-clidari direktori nampan Wildfly Anda dapat menambahkan driver JDBC dan sumber data JEE dengan skrip. Skrip saya terlihat seperti:

embed-server --server-config=standalone.xml --std-out=echo

batch

module add --name=org.postgres --resources=${user.home}/Downloads/postgresql-42.2.8.jar --dependencies=javax.api,javax.transaction.api

/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)


/subsystem=datasources/data-source=myDS/:add(connection-url=jdbc:postgresql://localhost:5432/dbname,driver-name=postgres,jndi-name=java:/jdbc/myDS,background-validation=true,background-validation-millis=60000,blocking-timeout-wait-millis=2000,flush-strategy=Gracefully,idle-timeout-minutes=5,initial-pool-size=4,max-pool-size=64,min-pool-size=4,password=the-password,query-timeout=10,track-statements=true,tracking=true,user-name=the-user,validate-on-match=false)

run-batch

Skrip ini harus dijalankan tanpa server dijalankan. Jika Anda ingin menjalankannya sementara server berjalan kemudian lepaskan embed-server, batchdan run-batchgaris-garis. Pada dasarnya ini dimulai dengan membuat modul yang dalam hal ini adalah driver PostgreSQL. Kemudian menambahkan driver JDBC dan terakhir DataSource. Itu dapat dijalankan dengan:

jboss-cli.sh --file=the-file-name.cli

dengan asumsi bahwa Anda menyimpan di atas ke file bernama the-file-name.cli. Sekali lagi, bindirektori untuk Wildfly perlu berada di jalur Anda untuk menjalankan ini pada baris perintah.

stdunbar
sumber
Bekerja untuk saya, terima kasih!
Paigeola
9

Ini bukan masalah wildfly / JBoss. Bug ada di konsol Manajemen Hal (versi 3.2.1). Saya memperbaiki kesalahan ini, mengubah versi konsol HAL ke 3.2.4.

  1. Rilis unduhan:
wget https://repository.jboss.org/nexus/content/repositories/ea/org/jboss/hal/hal-console/3.2.4.Final/hal-console-3.2.4.Final-resources.jar
  1. Salin file jar ke direktori wildfly
sudo cp hal-console-3.2.4.Final-resources.jar /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/
  1. Edit file module.xml
sudo vim /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/module.xml
  1. Ubah versi dalam file module.xml
   <resources>
        <resource-root path="hal-console-3.2.4.Final-resources.jar"/>
    </resources>
  1. Mulai ulang jboss / wildfly
sudo systemctl restart wildfly or sudo service wildfly restart
Daniel Xavier Oliveira
sumber
3
Arsip github tampaknya tidak mengandung folder target, hanya kode sumber. Jadi kami membangun proyek pakar itu, atau mengekstrak stoples konsol dari tempat lain, misalnya WildFly 19 beta.
T-Gergely
1
Langkah 1a. - instal maven, aplikasi cd, paket mvn (lalu tunggu, lalu salin toples)
David O'Meara
Saya lupa menyertakan langkah untuk mengkompilasi src. Saya akan menambahkan ini dalam jawaban saya
Daniel Xavier Oliveira
1
Satu hal kecil lagi: me-restart server tidak cukup, Anda perlu memaksa refresh cache browser ^ _ ^ '
Giampaolo
0

Gunakan tautan ini, how_to_setup_postgresql_datasource_with_wildfly . Ini akan menyelesaikan masalah Anda dengan cara alternatif.

Edisi file konfigurasi (Satu arah)

Standalone.xml adalah file konfigurasi untuk server. Konsol manajemen hanyalah UI yang ramah untuk mengedit file ini.

Menyebarkan driver JDBC

  • Buka file explorer dan buka / modules / direktori di direktori instalasi Wildfly Anda .
  • Buat folder / org / postgresql / main /. Folder ini harus sesuai dengan paket hierarki driver JDBC.
  • Salin driver JDBC ke direktori 'utama' yang telah Anda buat. Dalam direktori ini, buat file "module.xml" dengan ini

        <resources>
            <resource-root path="postgresql-42.2.1.jar"/>
            <!-- Make sure this matches the name of the JAR you are installing -->
        </resources>
        <dependencies>
            <module name="javax.api"/>
            <module name="javax.transaction.api"/>
        </dependencies>
    </module>
    

Buat sumber data - Pergi ke / direktori mandiri / konfigurasi di direktori instalasi Wildfly Anda. - Buka standalone.xml (ini adalah file konfigurasi default yang digunakan oleh server mandiri) - Cari 'sumber data' untuk menuju ke bagian kanan. - Pada elemen, Anda perlu menambahkan keduanya untuk PostgreSQL dan

Restart Wildfly diperlukan dan Anda dapat memvalidasi perubahan Anda dengan menguji koneksi di konsol manajemen.

<drivers>
    <driver name="postgresql" module="org.postgresql">
        <!-- for xa datasource -->
        <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
        <!-- for non-xa datasource -->
        <driver-class>org.postgresql.Driver</driver-class>
    </driver>
</drivers>
<datasources>
    <datasource jndi-name="java:jboss/datasources/StemoDS" pool-name="StemoDS" enabled="true" use-java-context="true">
        <connection-url>jdbc:postgresql://localhost:5432/StemoDS</connection-url>
        <driver>postgresql</driver>
        <security>
            <user-name>postgres</user-name>
            <password>admin</password>
        </security>
    </datasource>
</datasources>

Cara lain Menggunakan Wildfly CLI (2 arah)

Cara lain untuk menambahkan sumber data adalah dengan menggunakan antarmuka garis konsol (CLI). Sekali lagi, proses ini dibagi menjadi dua langkah.

Menyebarkan driver JDBC - Pergi ke / direktori bin di direktori instalasi Wildfly Anda. - Buka terminal pada direktori ini dan jalankan

  ./jboss-cli.sh --connect controller=127.0.0.1 (or jboss-cli.bat if you are on Windows)
  • Untuk menginstal modul, jalankan perintah ini

    modul add --name = org.postgresql --resources = / tmp / postgresql-42.2.1.jar --dependencies = javax.api, javax.transaction.api

  • Buat sumber data Pembuatan driver dilakukan dengan perintah ini

    /subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgresql",driver-class-name=org.postgresql.Driver)

  • Dan kemudian, perintah terakhir untuk menambahkan sumber data

    data-source add --jndi-name = java: jboss / dataources / StenusysDemoDS --name = StenusysDemoDS --connection-url = jdbc: postgresql: // localhost: 5432 / StenusysDemo --driver-name = postgres --user- name = postgres --password = admin

Anda dapat memvalidasi perubahan Anda dengan menguji koneksi di konsol manajemen.

neha yadav
sumber
0

Saya memiliki masalah yang sama, tetapi solusi yang saya lakukan adalah membuat pengguna konsol dengan kata sandi menggunakan karakter alfanumerik dan 1 non-alfanumerik.

  1. jalankan server wildfly phat \ bin \ standalone.bat
  2. wildfly phat \ bin \ add-user.bat
  3. tekan konsol jika manajer
  4. nama pengguna: admin atau masukkan nama pengguna yang Anda inginkan
  5. tekan untuk memperbarui pengguna admin
  6. kata sandi: misalnya p @ ssword1 atau kata sandi Anda dengan 1 karakter non-aphanumerik
  7. repassword: kata sandi yang sama yang Anda gunakan
  8. memasukkan
  9. tidak dan masuk

dan akhirnya menggunakan browser web berbeda seperti chrome

Konfigurasikan pengguna dengan kata sandi tanpa 1 karakter non-aphanumerik

Konfigurasi pengguna dengan kata sandi dengan 1 karakter non-aphanumerik

Esteban Vallejo
sumber
langkah terakhir hapus riwayat browser web
Esteban Vallejo