Configurando uma Conexão MySQL no JBoss com MySQL Connector JDBC Driver

Spread the love

 

Em um posts anterior aprendemos como criar uma conexão via JBoss e um banco MSQL Server usando o JTDS Driver e Microsoft JDBC Driver. Neste post falaremos do MySQL Connector JDBC Driver. Para configurar ele no JBoss seguiremos alguns passos similares aos outros posts:

 

1. Baixe o driver no site do MySQL.

 

2. Extraia o arquivo recem baixado e localize o arquivo mysql-connector-java-5.1.38-bin.jar.

 

3. No seu JBOSS_HOME crie diretórios respeitando a seguinte hierarquia “modules\com\mysql\main”. Dentro desse diretório coloque o arquivo recém baixado mysql-connector-java-5.1.38-bin.jar e crie um novo arquivo chamado module.xml com o seguinte conteúdo:

 

<!--?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.38-bin.jar">
  </resource-root></resources>
  <dependencies>
    <module name="javax.api">
    <module name="javax.transaction.api">
  </module></module></dependencies>
</module>

 

3. Agora precisamos modificar nosso standalone.xml adicionando as configurações abaixo à seção de datasources. Diferente dos posts anteriores adicionei novas configurações para que você saiba que pode definir novos parâmetros além do básico. No geral podemos definir parâmetros para o pool de conexões, validações, cache dentre outros. Essas configurações são padrão e com exceção das configurações de validação se aplicam à maioria dos bancos de dados.

 

<datasource jndi-name="java:jboss/datasources/SeuDatabase" pool-name="SeuDatabase" enabled="true" use-java-context="true" use-ccm="true">
   <connection-url>jdbc:mysql://localhost:3306/SeuDatabase</connection-url>
   <driver>mysql</driver>
   <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>

   <!-- Configuração opcional pra definir os parâmetros do pool de conexões -->
   <pool>
      <min-pool-size>10</min-pool-size>
      <max-pool-size>100</max-pool-size>
      <prefill>true</prefill>
   </pool>
   <security>
      <user-name>seu_usuario</user-name>
      <password>sua_senha</password>
   </security>

   <!-- Configuração opcional para validação de conexões e tratamento de exceptions -->
   <validation>
      <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker">
      <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter">
   </exception-sorter></valid-connection-checker></validation>

   <!-- Configuração opcional com os parâmetros de de cache -->
   <statement>
      <prepared-statement-cache-size>100</prepared-statement-cache-size>
      <share-prepared-statements>true</share-prepared-statements>
   </statement>
</datasource>

 

E na seção drivers:

 

<driver name="mysql" module="com.mysql">
   <datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlDataSource</datasource-class>
</driver>

 

O resultado final deve ser similar a configuração abaixo:

 

<subsystem xmlns="urn:jboss:domain:datasources:1.1">
   <datasources>
      <datasource jndi-name="java:jboss/datasources/SeuDatabase" pool-name="SeuDatabase" enabled="true" use-java-context="true" use-ccm="true">
         <connection-url>jdbc:mysql://localhost:3306/SeuDatabase</connection-url>
         <driver>mysql</driver>
         <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>

         <!-- Configuração opcional pra definir os parâmetros do pool de conexões -->
         <pool>
            <min-pool-size>10</min-pool-size>
            <max-pool-size>100</max-pool-size>
            <prefill>true</prefill>
         </pool>
         <security>
            <user-name>seu_usuario</user-name>
            <password>sua_senha</password>
         </security>

         <!-- Configuração opcional para validação de conexões e tratamento de exceptions -->
         <validation>
            <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker">
            <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter">
         </exception-sorter></valid-connection-checker></validation>

         <!-- Configuração opcional com os parâmetros de de cache -->
         <statement>
            <prepared-statement-cache-size>100</prepared-statement-cache-size>
            <share-prepared-statements>true</share-prepared-statements>
         </statement>
      </datasource>
      <drivers>
         <driver name="mysql" module="com.mysql">
            <datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlDataSource</datasource-class>
         </driver>
      </drivers>
   </datasources>
</subsystem>

 

Complementando as postagens sobre os datasources MSQL Server dessa vez aprendemos a criar uma conexão com uma base MySQL . Mais uma vez para soluções mais complexas use o Google e sua criatividade.

 

Treinamentos relacionados com este post

















Leandro

Sou desenvolvedor de software a desde 2008, além de programar gosto de esportes de aventura como rapel, tirolesa, trilhas de bike, apreciador de cervejas, baladas, motos e do bom e velho Rock’n Roll também gosto de história, ficção científica e de tecnologia. Atualmente sou consultor de Agile Software Delivery na Erudio Training e instrutor na Udemy.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *