Migrar Data Source JBoss

Utilizando IronJacamar para Migrar Data Sources no JBoss AS 7.1.1

Postado em Atualizado em

Em versões anteriores do JBoss AS, os data sources eram  configurados em arquivos com a extensão *-ds. O IronJacamar contém uma ferramenta de migração que pode ser usada para converter arquivos de configuração no formato esperado pelo JBoss AS 7.  Essa ferramenta realiza uma análise do xml no formato anterior e gera um novo arquivo no formato esperado.

O  IronJacamar pode ser baixado na seguinte url : http://sourceforge.net/projects/jboss/files/IronJacamar/ .

Baixe o arquivo ironjacamar-1.1.0.Alpha6.zip, e descompacte no diretório de sua preferência.

Agora execute  o script converter.bat no Windows e converter.sh no Linux. Vamos gerar a nova estrutura com o nome de new-mysql-ds .

IRONJACAMAR_HOME/doc/as/converter.bat -ds mysql-ds.xml new-mysql-ds.xml

Data Source JBoss AS 5 ( mysql-ds.xml )

<?xml version="1.0" encoding="UTF-8"?>
 <datasources>
   <local-tx-datasource>
   <jndi-name>DefaultDS</jndi-name>
   <connection-url>jdbc:mysql://localhost:3306/test</connection-url>
   <driver-class>com.mysql.jdbc.Driver</driver-class>
   <user-name>root</user-name>
   <password>jboss</password>
   <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
   <metadata>
     <type-mapping>mySQL</type-mapping>
   </metadata>
   </local-tx-datasource>
</datasources>

Data Source JBoss AS 7 ( new-mysql-ds.xml )


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<datasources>
 <datasource enabled="true" jndi-name="java:jboss/datasources/DefaultDS" jta="true" pool-name="DefaultDS" use-ccm="true" use-java-context="true">
   <connection-url>jdbc:mysql://localhost:3306/test</connection-url>
   <driver-class>com.mysql.jdbc.Driver</driver-class>
   <datasource-class/>
   <driver/>
   <transaction-isolation>TRANSACTION_NONE</transaction-isolation>
   <pool>
    <prefill>false</prefill>
    <use-strict-min>false</use-strict-min>
    <flush-strategy>FailingConnectionOnly</flush-strategy>
   </pool>
   <security>
    <user-name>root</user-name>
    <password>jboss</password>
   </security>
   <validation>
    <valid-connection-checker class-name="org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker"/>
    <validate-on-match>false</validate-on-match>
    <background-validation>false</background-validation>
    <use-fast-fail>false</use-fast-fail>
   </validation>
   <timeout>
    <xa-resource-timeout>0</xa-resource-timeout>
   </timeout>
   <statement>
    <track-statements>false</track-statements>
   </statement>
  </datasource>
</datasources>

Após a geração do novo data source algumas alterações devem ser realizadas manualmente. O próximo passo é copiar o data source gerado para o subsystem datasource nos arquivos de configuração do JBoss AS 7  JBOSS_HOME/domain/configuration/domain.xml ou JBOSS_HOME/standalone/configuration/standalone.xml.

O IronJacamar possui muitas outras funcionalidade que vamos abordar nos próximos posts.

Abraços