web-dev-qa-db-ja.com

依存関係がない/利用できないサービス

このエラーが発生する理由は次のとおりです。

JBAS014775:    New missing/unsatisfied dependencies:
  service jboss.jdbc-driver.mysql (missing) dependents: [service jboss.data-source.jboss/datasources/UserDS] 

ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) `{"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.data-source.jboss/datasources/UserDSjboss.jdbc-driver.com_mysql_jdbcMissing[jboss.data-source.jboss/datasources/UserDSjboss.jdbc-driver.com_mysql_jdbc]"]}}}`

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.0"
       xmlns="http://Java.Sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
            http://Java.Sun.com/xml/ns/persistence
            http://Java.Sun.com/xml/ns/persistence/persistence_2_0.xsd">
       <persistence-unit name="primary">
          <jta-data-source>Java:jboss/datasources/UserDS</jta-data-source>
          <properties>
             <!-- Properties for Hibernate -->
             <property name="hibernate.hbm2ddl.auto" value="create-drop" />
             <property name="hibernate.show_sql" value="true" />
          </properties>
       </persistence-unit>
    </persistence>

mydatasource-ds.xml

    <?xml version="1.0" encoding="UTF-8"?>
            <datasources xmlns="http://www.jboss.org/ironjacamar/schema"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://www.jboss.org/ironjacamar/schema http://docs.jboss.org/ironjacamar/schema/datasources_1_0.xsd">
                <datasource jndi-name="Java:jboss/datasources/UserDS" pool-name="kitchensink-quickstart" 
                    enabled="true" use-Java-context="true">
                    <!-- jdbc:h2:mem:kitchensink-quickstart;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1 -->
                    <connection-url>
                        jdbc:mysql://localhost:3306/test
                    </connection-url>
                    <driver>mysql</driver>
                    <security>
                        <user-name>root</user-name>
                        <password>root</password>
                    </security>
                </datasource>
            </datasources>

module.xml

<module xmlns="urn:jboss:module:1.0" name="com.mysql">
      <resources>
        <resource-root path="mysql-connector-Java-5.1.22.jar"/>
      </resources>
      <dependencies>
        <module name="javax.api"/>
      </dependencies>
    </module>
6
Fabii

エラーの理由は、依存関係Java:jboss/datasources/UserDSが欠落しているためです。 Jboss 7.x +を使用すると、これらのデータソースを発見したとおりにアプリサーバー構成に直接追加できます。

スタンドアロン構成とドメイン構成の違いは、スタンドアロン構成は、上記の構成を持つ1つのアプリサーバーに対してのみ設計されていることです。 domain.xmlをよく見ると、いくつかのアプリサーバー構成(別名プロファイル)が表示されます。これらは、standalone/conf *ディレクトリにあるstandalone、standalone-full、standalone-ha、standalone-full-haの設定ファイルによく似ています。ドメインモードで操作すると、そのドメインで実行されているさまざまなサーバーインスタンスを中央の場所(つまり、ドメインコントローラー)から制御できます。 (これには、構成済みの場合はクラスターのノードが含まれます)

これは、ドメインコントローラーがこのデータソース構成をすべてのノードに適切に共有する機能を備えているという点で、元の質問と密接に関連しています。

4
natedennis

Web.xmlでリソース参照としてデータソースを指定している場合は、名前をstandalone.xml(またはdomain.xml)の名前と正確に一致させます。 )::

web.xml

 <resource-ref>
  <res-ref-name>Java:jboss/datasources/OracleDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

standalone.xml

<datasource jndi-name="Java:jboss/datasources/OracleDS" pool-name="OracleDS" enabled="true" use-Java-context="false">
6
Fuzzy Analysis

Wildflyバージョン10.0.1クラスター化されていないWildlfyセットアップを実行しています。 2つのWildlfyインスタンスがすでに実行されていて、エラーが発生したときに3番目のインスタンスをデプロイしようとしていました。他の2つのインスタンスを停止してから再試行する必要があり、wildflyのデプロイは正常に完了しました。

0
Vignesh Menon