Corrigindo New missing/unsatisfied Dependencies non JDBC 4 Compliant no JBoss AS 7.1.2

Postado em Atualizado em

Olá amigos,

No JBoss AS 7 podemos configurar o driver JDBC criando um módulo ou realizando o deploy do arquivo. Esse arquivo deve ser compátivel com a especificação JDBC 4 para que tudo funcione perfeitamente.

Qualquer JDBC 4 compliant driver será automaticamente reconhecido e instalado no sistema pelo nome e pela versão do Java service provider.  Um JDBC 4 compliant driver possui um arquivo no META-INF/services/java.sql.Driver contendo o fully qualified class name do driver JDBC em questão.

Vamos fazer alguns testes utilizando o driver JDBC do SQLServer.


Inicie o JBoss AS 7 e faça o deploy do arquivo jtds-1.2.6.jar. Você verá algo nos logs como abaixo:

19:06:548,419 INFO [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status r JBAS014775: New missing/unsatisfied dependencies: jboss.jdbc-driver.jtds-1_2_6_jar (missing) dependents [service jboss.data-source.java:jboss/datasources/mydatasource]

Para corrigir siga os procedimentos abaixo.

1° – Utilize um diretório qualquer (tmp) e dentro crie um diretório chamado META-INF.

2° – Dentro do META-INF crie um diretório chamado services.

3° –  No diretório services crie um arquivo chamado java.sql.Driver e adicione o fully qualified class name do driver.

net.sourceforge.jtds.jdbc.Driver

4° –  Agora copie o driver jtds-1.2.6.jar para o diretório temporário onde criamos toda essa estrutura e execute o seguinte comando:

jar -uf  jtds-1.2.6.jar META-INF/services/java.sql.Driver

Isso adiciona a estrutura criada ao arquivo jtds-1.2.6.jar. Observe a estrutura final.

jtds-1.2.6.jar
├──META-INF
│  ├──MANIFEST.MF
│  └──services
│          └──java.sql.Driver

Realize novamente o deploy no JBoss AS 7 e seja feliz.

Só por curiosidade vou deixar aqui a configuração do Datatasource que utilizei e o driver já alterado.

<subsystem xmlns="urn:jboss:domain:datasources:1.1">
 <datasources>
   <datasource jta="false" jndi-name="java:jboss/datasources/mydatasource" pool-name="My_Pool" enabled="true" use-ccm="false">
     <connection-url>jdbc:jtds:sqlserver://192.168.10.20:1433/DBTeste</connection-url>
     <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
     <driver>jtds-1.2.6.jar</driver>
     <security>
       <user-name>username</user-name>
       <password>senha</password>
     </security>
     <validation>
       <validate-on-match>false</validate-on-match>
       <background-validation>false</background-validation>
     </validation>
     <statement>
       <share-prepared-statements>false</share-prepared-statements>
     </statement>
  </datasource>
  <drivers>
    <driver name="mssqlNonXA" module="net.sourceforge.jtds">
       <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
    </driver>
  </drivers>
 </datasources>
</subsystem>

Espero que tenha ajudado.

Abraços

2 comentários em “Corrigindo New missing/unsatisfied Dependencies non JDBC 4 Compliant no JBoss AS 7.1.2

    victor neves disse:
    24 de setembro de 2012 às 8:51

    grande Mauricio! bom dia!
    legal o post! acredito que vá ajudar muita (muita) gente! =D hehe

      Mauricio Magnani respondido:
      24 de setembro de 2012 às 9:40

      E ai Victor Blz 😀
      Bom dia…
      Espero que ajude mesmo hehehe
      Abraços

Deixe um comentário