Драйвери WildFly 18.0.1 JDBC: Внутрішня помилка (newValue є нульовим)


17

У мене проблема з налаштуванням драйверів JDBC в WildFly (18.0.1) .

Щоразу, коли я відкриваю (конфігурація / підсистеми / джерела даних та драйвери / драйвери JDBC) ,

Я отримав:

Внутрішня помилка (подробиці: newValue є нульовою).

Зображення помилки 1:

Зображення помилки 2:

Будь-яка допомога буде дуже вдячна!


Чи є щось у журналах сервера (як правило, в автономному режимі / log / server.log під встановленням Wildfly)?
стдунбар

У файлах журналу немає нічого, що вказувало б на проблему. Також нічого не змінюється після того, як я отримаю помилку у файлі журналу.
ayou392

У мене така ж проблема, і поняття не маю, чому. Я встановив версії 18.0.1_Final і 16.0.0_Final, але те саме питання. Ви вже знайшли рішення?
Paigeola

Відповіді:


3

Я можу повністю відтворити вашу проблему. Я не використовував консоль Wildfly досить давно, але це для мене схоже на помилку. Однак є й інший спосіб, який має перевагу у тому, що він легко повторюється та пишеться на сценарії.

Якщо ви запускаєте jboss-cliз каталогу Wildfly bin, ви можете додати драйвер JDBC та джерело даних JEE зі скриптом. Мій сценарій виглядає так:

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

Цей сценарій слід запускати без запуску сервера. Якщо ви хочете , щоб запустити його , поки сервер працює , то видалити embed-server, batchі run-batchлінію. В основному це починається зі створення модуля, який у даному випадку є драйвером PostgreSQL. Потім він додає драйвер JDBC і нарешті DataSource. Його можна запустити:

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

припускаючи, що ви зберегли вищезазначене у файлі з ім’ям the-file-name.cli. Знову-таки, binкаталог для Wildfly повинен бути на вашому шляху, щоб запустити це в командному рядку.


Працювали для мене, дякую!
Paigeola

9

Це не проблема wildfly / jboss. Помилка знаходиться в консолі Hal Management (версія 3.2.1). Я виправляю цю помилку, змінюючи версію консолі HAL на 3.2.4.

  1. Завантажити реліз:
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. Скопіюйте файл jar в каталог wildfly
sudo cp hal-console-3.2.4.Final-resources.jar /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/
  1. Відредагуйте файл module.xml
sudo vim /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/module.xml
  1. Змінити версію у файлі module.xml
   <resources>
        <resource-root path="hal-console-3.2.4.Final-resources.jar"/>
    </resources>
  1. Перезавантажте jboss / wildfly
sudo systemctl restart wildfly or sudo service wildfly restart

3
Схоже, архів github не містить цільової папки, лише вихідний код. Тож ми або будуємо цей проект Maven, або дістаємо банку з консолі з іншого місця, наприклад, бета-версія WildFly 19.
Т-Гергелі

1
Крок 1а. - встановіть Maven, CD-додаток, mvn-пакет (тоді зачекайте, потім скопіюйте банку)
David O'Meara

Я забув включити крок для складання src. Я додам це у своїй відповіді
Даніель Ксав'є Олівейра

Правильна URL-адреса - репозиторій.jboss.org
nexus/content/

1
Ще одна дрібниця: перезавантаження сервера недостатньо, вам потрібно змусити оновити кеш браузера ^ _ ^ '
Giampaolo


0

Використовуйте це посилання, як_to_setup_postgresql_datasource_with_wildfly . Це вирішить вашу проблему альтернативними способами.

Видання файлу конфігурації (один спосіб)

Standalone.xml - файл конфігурації для сервера. Консоль управління - це просто дружній інтерфейс для редагування цього файлу.

Розгорніть драйвер JDBC

  • Відкрийте провідник файлів та перейдіть до / модулів / каталогу у своєму каталогу установки Wildfly .
  • Створіть папки / org / postgresql / main /. Ці папки повинні відповідати ієрархічному пакету драйвера JDBC.
  • Скопіюйте драйвер JDBC у створений вами головний каталог. У цьому каталозі створіть з цим файл "module.xml"

        <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>

Створіть джерело даних - Зайдіть у / окремий / конфігураційний каталог у своєму каталозі установки Wildfly. - Відкрийте standalone.xml (це файл конфігурації за замовчуванням, який використовується автономним сервером) - Пошук "джерела даних", щоб перейти до потрібної частини. - В елементі потрібно додати як для PostgreSQL, так і для

Потрібен перезапуск Wildfly, і ви можете підтвердити свої зміни, перевіривши з'єднання в консолі управління.

<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>

Інший спосіб використання Wildfly CLI (2 способи)

Інший спосіб додавання джерела даних - це використання інтерфейсу консольного рядка (CLI). Знову ж таки процес розділений на два етапи.

Розгортайте драйвер JDBC - перейдіть до каталогу / bin у своєму каталогу установки Wildfly. - Відкрийте термінал у цій директорії та запустіть

  ./jboss-cli.sh --connect controller=127.0.0.1 (or jboss-cli.bat if you are on Windows)
  • Щоб встановити модуль, запустіть цю команду

    модуль add --name = org.postgresql --resources = / tmp / postgresql-42.2.1.jar --залежності = javax.api, javax.transaction.api

  • Створення джерела даних Створення цього драйвера здійснюється за допомогою цієї команди

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

  • А потім остання команда додати джерело даних

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

Ви можете підтвердити свої зміни, перевіривши з'єднання в консолі управління.


0

У мене була така ж проблема, але я вирішив створити користувача консолі з паролем, використовуючи буквено-цифрові та 1 не буквено-цифрові символи.

  1. запустити сервер wildfly phat \ bin \ standalone.bat
  2. wildfly phat \ bin \ add-user.bat
  3. натисніть консоль менеджера if
  4. ім'я користувача: адміністратор або введіть потрібне ім’я користувача
  5. натисніть користувача адміністратора оновлення для оновлення
  6. пароль: наприклад, p @ ssword1 або ваш пароль з 1 неафанічно-цифровим символом
  7. повторне слово: той самий пароль, який ви використовували
  8. увійти
  9. ні і введіть

і нарешті використовувати веб-браузер, такий як хром

Налаштуйте користувача за допомогою пароля без 1 нефайно-цифрового символу

Налаштуйте користувача з паролем з 1 неафаймерно-символьним символом


останній крок очищення історії веб-браузера
Естебан Валлехо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.