2013-07-08 7 views
6

Używam JBoss 7.1.1. Kiedy próbuję uruchomić serwer, otrzymuję wyjątek. Próbowałem wielu rozwiązań, ale nic nie działa.Nowe brakujące/niezadowolone zależności: service jboss.jdbc-driver.com_mysql (brakujące) dependents: [service jboss.data-source.java:jboss/MyDB]

Poniższy wiersz pojawia się w dziennikach -

New missing/unsatisfied dependencies: service jboss.jdbc-driver.com_mysql (missing) dependents: [service jboss.data-source.java:jboss/MyDB]

Oto moja standalone.xml:

</datasource> 
    <datasource jta="true" jndi-name="java:jboss/MyDB" pool-name="MyDB_Pool" enabled="true" use-java-context="true" use-ccm="true"> 
     <connection-url>jdbc:mysql://localhost:3306/test</connection-url> 
     <driver>com.mysql</driver> 
     <security> 
      <user-name>root</user-name> 
      <password>root</password> 
     </security> 
     <timeout> 
      <idle-timeout-minutes>0</idle-timeout-minutes> 
      <query-timeout>600</query-timeout> 
     </timeout> 
     <statement> 
      <prepared-statement-cache-size>100</prepared-statement-cache-size> 
      <share-prepared-statements>true</share-prepared-statements> 
     </statement> 
    </datasource> 
    <drivers> 
     <driver name="h2" module="com.h2database.h2"> 
      <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> 
     </driver> 
     <driver name="com.mysql" module="com.mysql"> 
      <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> 
     </driver> 
    </drivers> 
</datasources> 

To mój module.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.1" name="com.mysql"> 
<resources> 
    <resource-root path="mysql-connector-java-5.1.24-bin.jar"/> 
</resources> 
<dependencies> 
    <module name="javax.api"/> 
    <module name="javax.transaction.api"/>  
    <module name="javax.servlet.api" optional="true"/> 
    <module name="javax.validation.api"/> 
</dependencies> 
</module> 

Ale nadal mam ten wyjątek

Oto moja web.xml (jego część):

<resource-ref id="ResourceRef_1"> 
    <res-ref-name>MyDB</res-ref-name>   
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
    <res-sharing-scope>Shareable</res-sharing-scope> 
    <lookup-name>java:jboss/datasources/MyDB</lookup-name> 
</resource-ref> 

Czy ktoś może pomóc?

Odpowiedz

2

Twój module.xml powinno być tak:

<module xmlns="urn:jboss:module:1.0" name="com.mysql" slot="main"> 
    <resources> 
    <resource-root path="mysql-connector-java-5.1.24-bin.jar"/> 
    </resources> 
    <dependencies> 
    <module name="javax.api"/> 
    </dependencies> 
</module> 

I upewnij się że masz mysql-connector-java-5.1.24-bin.jar i mysql-connector-java-5.1.24-bin.jar.index w tym samym folderze gdzie masz module.xml.

+0

Ten sam wyjątek z tym modułem.xml – pulse

+0

@pulse: Posiadanie modułu.xml nie wystarczy. Upewnij się, że masz odpowiednie słoiki w tym samym folderze co xml. – kosa

+0

wszystkie znajdują się w folderze org/mysql/main/jar, module.xml – pulse

0

spróbuj zaktualizować swoje złącze mysql. próbowałem wdrożyć wersję 5.1.5 (migrowałem z jboss 5.1 do wersji 7.1.1, więc właśnie przenosiłem już działające środowisko do nowszego kontenera). po tym jak walczyłem z tym przez dwa dni, uaktualniłem do wersji 5.1.27, a źródło danych zostało rozmieszczone jak mistrz.

0

Spróbuj usunąć META-INF/services/java.sql.Driver z biblioteki lib konektora mysql.

1

rozwiązany: Nowe brakujące/niezaspokojone Zależności: serwis jboss.jdbc-driver.com_ dla JBoss/JBoss Application Server 10

Hi najpierw zatrzymać serwer JBoss Application Server. następnie zaktualizować standalone.xml plik, aby dodać MS-SQL JTDS dane kierowcy i szczegóły źródła danych jak poniżej:

<subsystem xmlns="urn:jboss:domain:datasources:4.0"> 
      <datasources> 
       <datasource jta="true" jndi-name="java:/jdbc/speedtest-datasource" pool-name="MSSQLDSspeedTestDEV" enabled="true" use-ccm="true"> 
        <connection-url>jdbc:jtds:sqlserver://serverName:1433;DatabaseName=dbName</connection-url> 
        <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> 
        <driver>JTDS</driver> 
        <security> 
         <user-name>username</user-name> 
         <password>password</password> 
        </security> 
        <validation> 
         <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"/> 
         <background-validation>true</background-validation> 
        </validation> 
       </datasource> 
       <drivers> 

        <driver name="JTDS" module="net.sourceforge"> 
         <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> 
        </driver> 

       </drivers> 
      </datasources> 
     </subsystem> 

Module.xml dla MS SQL JTDS: ścieżka: E: \ Oprogramowanie \ wildfly-10.1.0.Final \ wildfly-10.1.0.Final \ modules \ system \ layers \ base \ net \ sourceforge \ main (trzeba utworzyć strukturę katalogów w podświetleniu i dodać pliki module.xml i jtds-1.3.0.jar).

(Uwaga: w tym przykładzie użyłem nazwy modułu jako "net.sourceforge" i utworzyłem ścieżkę struktury folderów jako "net \ sourceforge \ main"). Należy pamiętać, że ważniejsze jest dopasowanie ścieżki do katalogu i nazwy modułu w module, pliku xml.

<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.0" name="net.sourceforge"> 
<resources> 
<resource-root path="jtds-1.3.0.jar"/> 
</resources> 
<dependencies> 
<module name="javax.api"/> 
<module name="javax.transaction.api"/> 
</dependencies> 
</module> 

Uwaga: Należy pamiętać, że ścieżka podświetlone na zielono w 2 miejscach powinny pasować (tj strukturę katalogów i nazwę modułu w module.xml)

Na przykład. Jeśli utworzyłeś strukturę katalogów jako E: \ Softwares \ wildfly-10.1.0.Final \ wildfly-10.1.0.Final \ modules \ system \ layers \ base \ net \ sourceforge \ jtds \ main to nazwa modułu w module.xml plik powinien być "net.sourceforge.jtds", jak pokazano poniżej w module.plik xml

Module.xml: 
<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.0" name="net.sourceforge.jtds"> 
<resources> 
<resource-root path="jtds-1.3.0.jar"/> 
</resources> 
<dependencies> 
<module name="javax.api"/> 
<module name="javax.transaction.api"/> 
</dependencies> 
</module> 

teraz zapisz te dwa pliki i zrestartuj serwer wildFLY.

Regards, 
Rasool Javeed Mohammad 
[email protected]