web-dev-qa-db-ja.com

wildfly 10でデータソースを構成する方法は?

Wildfly Learningの紹介を始めています。サーバーの配布をダウンロードしました。
今、データソースを設定しようとしていますが、次のエラーが表示されます。

Unexpected HTTP response: 500

Request
{
    "address" => [
        ("subsystem" => "datasources"),
        ("data-source" => "PostgreDataSource")
    ],
    "operation" => "test-connection-in-pool"
}

Response

Internal Server Error
{
    "outcome" => "failed",
    "failure-description" => "WFLYJCA0040: failed to invoke operation: WFLYJCA0042: failed to match pool. Check JndiName: Java:jboss/datasources/PostgreDataSource",
    "rolled-back" => true
}

私の手順:
1。作成されたフォルダーwildfly-10.0.0.CR2\wildfly-10.0.0.CR2\modules\org\postgres\mainとコピーpostgresql-9.0-801.jdbc4.jar from \.m2\repository\postgresql\postgresql\9.0-801.jdbc4 そこ。

2. module.xmlの作成(wildfly-10.0.0.CR2\wildfly-10.0.0.CR2\modules):

次のコンテンツ:

<module xmlns="urn:jboss:module:1.0" name="org.postgres"> 
  <resources> 
    <resource-root path="postgresql-9.0-801.jdbc4.jar"/> 
  </resources> 
   <dependencies> 
     <module name="javax.api"/> 
     <module name="javax.transaction.api"/> 
   </dependencies> 
</module> 
  1. 変更済みstandalone.xmlwildfly-10.0.0.CR2\wildfly-10.0.0.CR2\standalone\configuration)このように(申し訳ありません-xmlをコピーして他のユーザーに見えるようにする方法がわかりません(ここにすべてのコンテンツが表示されます: http://collabedit.com/psk4a )):

私が間違っていることを理解するのを助けてください?

enter image description here

12
gstackoverflow

移動後に解決された問題module.xmlからwildfly-10.0.0.CR2\wildfly-10.0.0.CR2\modules\org\postgres\main

3
gstackoverflow

以下は、ドライバー構成とデータソースの作成、および必要に応じてすべてのJ2EEデプロイメントが特定のモジュールにアクセスできるようにグローバルに表示する方法です。

1. PostGreSQLドライバーの構成

Wildfly-8.2.0.Final\modulesディレクトリ内のモジュール内に次のようなディレクトリ構造を作成し、上記のファイルとドライバjarを配置します。ディレクトリ:wildfly-8.2.0.Final\modules\org\postgresql\main

ファイル:module.xml

    <!--<?xml version="1.0" encoding="UTF-8"?>-->
    <module xmlns="urn:jboss:module:1.0" name="org.postgresql">
        <resources>
            <resource-root path="postgresql-9.4-1204.jdbc41.jar"/>
        </resources>
        <dependencies><module name="javax.api"/></dependencies>
    </module>

JAR:PostGreSQLドライバー:postgresql-9.4-1204.jdbc41.jar

注:ドライバーのバージョンは選択できます。そのバージョン名をmodule.xmlファイルに必ず反映してください。 module.xmlファイルに記載されているドライバーname = "org.postgresql"は、standalone.xmlファイルのデータソース構成と一致する必要があることに注意してください。

注:PostGreSQLドライバーのバージョンは、システムのJavaバージョンと互換性があります。この例では、Javaは1.7で、使用されるPostGreSQLドライバーはpostgresql-9.4です。 -1204.jdbc41.jar。

2.データソースの設定

データソースは、WildFly 8.2.0.Final\standalone\configurationのstandalone.xmlファイルで構成されます。最初のステップとして、タグ内で次のようにstandalone.xmlファイルでPostGreSQLドライバー参照を構成します

<driver name="postgresql" module="org.postgresql">
<datasource-class>org.postgresql.Driver</datasource-class>
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>

1.データソースの詳細を追加します。

この内部タグを追加してください

<datasource jndi-name="Java:/db1" pool-name="db1" enabled="true" use-Java-context="true">
<connection-url>jdbc:postgresql://localhost:5432/dbname</connection-url>
<driver>postgresql</driver>
<security>
    <user-name>user_name</user-name>
    <password>password</password>
</security>
</datasource>

2.セクションに追加して、公開されたドライバーをグローバルに表示する

ここにあります:

<global-modules>
            <module name="org.postgresql" slot="main"/>
</global-modules>

注:グローバルモジュールは、すべてのJava EEデプロイメントの依存関係としてJBossモジュールに追加されるJBossモジュールのセットです。このような依存関係により、Java EEデプロイメントグローバルモジュールによってエクスポートされたクラスを確認するには、以下を参照してください。 https://docs.jboss.org/author/display/WFLY8/Subsystem+configuration

上記を設定したら、WildFlyインスタンスを起動してください。

5
Ajay Kumar

Wildfly管理コンソール( http:// localhost:9990/console / )を使用してのみ問題を解決したと言いたいです。質素なソリューションではありませんが、機能します。 JDBCドライバーjarを外部ディレクトリから指定したのは、データソースを作成した後だけです。手作業でxmlを使用したり、wildflyのディレクトリ構造を変更したりする必要はありません。 Java 8 + postgresql 9.5でpostgresql-42.1.1.jarを使用しました。間違ったドライバーを選択し、データベースの名前が間違っていたために問題が発生しました。

1
gleitonfranco

私は100%前向きではありませんが、ネットの周りにいくつかのリンクがある場合、デフォルトのプール設定が原因である可能性があります。特定のプール構成設定をデータソースに追加してみてください。

<datasource jndi-name="blabla"... >
  <pool>  
    <min-pool-size>1</min-pool-size>  
    <max-pool-size>20</max-pool-size>  
    <prefill>true</prefill>            
  </pool>  
</datasource>

このstackoverflowスレッドに基づいています: OracleとのWildFly jdbc接続

この関連するJBossフォーラムスレッドへの回答リンク: https://developer.jboss.org/thread/257721

ところで、プールの設定はWildflyの構成ドキュメントに記載されています。これはWildfly 9ですが、Wildfly 10で物事が大きく変わることは想像できません。 https://docs.jboss.org/author/display/WFLY9/DataSource+configuration

1
Gimby