WildFly 18.0.1 JDBCドライバー:内部エラー(newValueがnull)


17

WildFly(18.0.1)でのJDBCドライバーの設定に問題があります。

(構成/サブシステム/データソースとドライバー/ JDBCドライバー)を開くたびに、

私は得ます:

内部エラー(詳細:newValueがnull)。

エラー画像1:

エラー画像2:

どんな助けでも大歓迎です!


サーバーログ(通常、Wildflyインストールのスタンドアロン/ログ/サーバー。ログ)に何かありますか?
stdunbar

問題を示すログファイルには何もありません。また、ログファイルにエラーが記録されても、何も変わりません。
ayou392

私は同じ問題を抱えていますが、その理由はわかりません。バージョン18.0.1_Finalおよび16.0.0_Finalをインストールしましたが、同じ問題が発生しました。すでに解決策を見つけましたか?
Paigeola

回答:


3

問題を完全に再現できます。私はかなり前からWildflyコンソールを使用していませんが、これはバグのようです。ただし、簡単に繰り返してスクリプトを作成できるという利点がある別の方法もあります。

jboss-cliWildfly 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-serverbatchおよびrun-batch行を。基本的にこれは、この場合はPostgreSQLドライバーであるモジュールを作成することから始まります。次に、JDBCドライバーと最後にDataSourceを追加します。次のコマンドで実行できます。

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

上記をという名前のファイルに保存したとしますthe-file-name.cli。繰り返しますが、binWildfly のディレクトリは、コマンドラインで実行するためにパス上にある必要があります。


私のために働いた、ありがとう!
Paigeola

9

これはwildfly / jbossの問題ではありません。バグはHal管理コンソール(バージョン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ベータなど、別の場所からコンソールjarを抽出します。
T-Gergely

1
ステップ1a。-maven、cd app、mvnパッケージをインストールします(その後、待機してからjarをコピーします)
David O'Meara

srcをコンパイルするステップを含めるのを忘れました。私はこれを私の答えに追加します
Daniel Xavier Oliveira


1
もう1つの小さなこと:サーバーを再起動するだけでは不十分です。ブラウザーのキャッシュを強制的に更新する必要があります^ _ ^ '
Giampaolo


0

このリンクhow_to_setup_postgresql_datasource_with_wildflyを使用してください。これにより、別の方法で問題を解決できます。

設定ファイル編集(片道)

Standalone.xmlはサーバーの構成ファイルです。管理コンソールは、このファイルを編集するためのフレンドリーなUIにすぎません。

JDBCドライバーをデプロイする

  • ファイルエクスプローラーを開き、Wildfly インストールディレクトリの/ modules /ディレクトリに移動します。
  • / org / postgresql / main /フォルダーを作成します。これらのフォルダーは、JDBCドライバーの階層パッケージと一致する必要があります。
  • 作成した「main」ディレクトリに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 / configurationディレクトリに移動します。-standalone.xmlを開きます(これはスタンドアロンサーバーで使用されるデフォルトの構成ファイルです)-'datasource'を検索して適切な部分に移動します。-要素で、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方法)

データソースを追加するもう1つの方法は、コンソールラインインターフェイス(CLI)を使用することです。ここでも、プロセスは2つのステップに分かれています。

JDBCドライバーをデプロイします-Wildflyインストールディレクトリの/ binディレクトリに移動します。-このディレクトリでターミナルを開いて実行します

  ./jboss-cli.sh --connect controller=127.0.0.1 (or jboss-cli.bat if you are on Windows)
  • モジュールをインストールするには、次のコマンドを実行します

    module add --name = org.postgresql --resources = / tmp / postgresql-42.2.1.jar --dependencies = 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. ユーザー名:adminまたは必要なユーザー名を入力します
  5. fo update adminユーザーを押します
  6. パスワード:たとえば、p @ ssword1または1つの非英数字以外の文字を含むパスワード
  7. repassword:使用したのと同じパスワード
  8. 入る
  9. いいえ、入力してください

そして最後にクロムのような異なるウェブブラウザを使用します

英数字以外の文字を1つも含まないパスワードを使用してユーザーを構成する

英数字以外の1文字を含むパスワードを持つユーザーの構成


最後のステップは、Webブラウザーの履歴をクリアする
Esteban Vallejo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.