Posts com Tags JBoss EAP

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


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"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
  </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"/>
   </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"/>
         </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. É isso aí bons estudos e se gostou da postagem torne-se um membro VIP e receba conteúdos exclusivos..


Tags: , , ,

Configurando uma Conexão SQL Server no JBoss com Microsoft JDBC Driver


Em um post anterior aprendemos como criar uma conexão via JBoss e um banco MSQL Server usando o JTDS Driver. Neste post falaremos do Microsoft JDBC Driver da Microsoft. Para configurar ele no JBoss seguiremos alguns passos bem simples:


1. Primeiro baixe o driver no site oficial da microsoft..


2. Extraia o arquivo recem baixado e localize o arquivo sqljdbc4.jar.


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


<module xmlns="urn:jboss:module:1.0" name="com.microsoft">
 <resources>
   <resource-root path="sqljdbc4.jar"/>
   </resources>
   <dependencies>
      <module name="javax.api"/>
      <module name="javax.transaction.api"/>
   </dependencies>
</module>


3. Agora precisamos modificar nosso standalone.xml adicionando as configurações abaixo à seção de datasources:


<datasource jndi-name="java:/SeuDatabase" pool-name="SeuDatabase">
   <connection-url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=SeuDatabase</connection-url>
   <driver>sqlserver</driver>
   <security>
      <user-name>seu_usuario</user-name>
      <password>sua_senha</password>
   </security>
</datasource>    


E na seção drivers:


<driver name="sqlserver" module="com.microsoft">
   <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class>
</driver>


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


<subsystem xmlns="urn:jboss:domain:datasources:1.2">
   <datasources>      
      <datasource jndi-name="java:/SeuDatabase" pool-name="SeuDatabase">
         <connection-url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=SeuDatabase</connection-url>
         <driver>sqlserver</driver>
         <security>
            <user-name>seu_usuario</user-name>
            <password>sua_senha</password>
         </security>
      </datasource>   
      
      <drivers>
         <driver name="sqlserver" module="com.microsoft">
            <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class>
         </driver>
      </drivers>
   </datasources>
</subsystem>


Agora aprendemos a criar uma conexão com uma base MSQL Server com os dois principais drivers com esse propósito. Mais uma vez para soluções mais complexas use o Google e sua criatividade. É isso aí bons estudos e se gostou da postagem torne-se um membro VIP e receba conteúdos exclusivos..


Tags: , , , , ,

Configurando uma Conexão SQL Server no JBoss com JTDS


Existem dois drivers que podem ser utilizados para criar uma conexão via JBoss e um banco MSQL Server. Um é o Microsoft JDBC Driver da Microsoft e o outro é o JTDS. Muitos dizem que o último é superior ao oficial da Microsoft e neste post falaremos justamente dele. Para configurar ele no JBoss seguiremos alguns passos bem simples:


1. Primeiro baixe o driver no SourceForge.


2. No seu JBOSS_HOME crie diretórios respeitando a seguinte hierarquia “modules\net\sourceforge\jtds\main”. Dentro desse diretório coloque o jar recém baixado jtds-1.3.1.jar(versão atual) 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.0" name="net.sourceforge.jtds">
   <resources>
      <resource-root path="jtds-1.3.1.jar"/>
   </resources>
   <dependencies>
      <module name="javax.api"/>
      <module name="javax.transaction.api"/>
   </dependencies>
</module>


3. Agora precisamos modificar nosso standalone.xml adicionando as configurações abaixo à seção de datasources:


<datasource jndi-name="java:jboss/datasources/SeuDatabase" pool-name="SeuDatabase"
   enabled="true" use-java-context="true">
   <connection-url>jdbc:jtds:sqlserver://localhost:1433/SeuDatabase</connection-url>
   <driver>jtds</driver>
   <security>
      <user-name>seu_usuario</user-name>
      <password>sua_senha</password>
   </security>
</datasource>   


E na seção drivers:


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


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


<subsystem xmlns="urn:jboss:domain:datasources:1.2">
   <datasources>   
   
      <datasource jndi-name="java:jboss/datasources/SeuDatabase" pool-name="SeuDatabase"
         enabled="true" use-java-context="true">
         <connection-url>jdbc:jtds:sqlserver://localhost:1433/SeuDatabase</connection-url>
         <driver>jtds</driver>
         <security>
            <user-name>seu_usuario</user-name>
            <password>sua_senha</password>
         </security>
      </datasource>   
      
      <drivers>
         <driver name="jtds" module="net.sourceforge.jtds">
            <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
         </driver>
      </drivers>
   </datasources>
</subsystem>


Essa é a configuração mais básica de todas e acredito que será o suficiente para você começar a se conectar com uma base MSQL Server para soluções mais complexas use o Google e sua criatividade. No próximo post explicaremos como fazer a mesma coisa só que dessa vez usando o Microsoft JDBC Driver da Microsoft.É isso aí bons estudos e se gostou da postagem torne-se um membro VIP e receba conteúdos exclusivos.


Tags: , , , , ,

Trabalhando com Maven e os plugins ‘jboss-as-maven-plugin’ e ‘maven-antrun-plugin’

E agora vai um post rápido e rasteiro ensinando como aproveitar uma das funcionalidades mais bacanas providas pelo Maven quando trabalhamos com o JBoss AS 7 ou JBoss EAP é o deploy automático dos artefatos diretamente no contêiner. Isso acaba por facilitar bastante o processo de test in code. Para isso precisamos apenas adicionar o plugin ‘jboss-as-maven-plugin’ conforme descrito no trecho abaixo.

<build>
   <finalName>${project.artifactId}</finalName>
  <!-- Na linha acima passamos uma variável com o nome final do artefato -->
  
  <!-- Dentro da tag build definimos quais plugins usaremos -->
   <plugins>
    
    <!-- Aqui definimos os plugins que usaremos dentre eles o de deploy-->
  
    <plugin>
      <groupId>org.jboss.as.plugins</groupId>
      <artifactId>jboss-as-maven-plugin</artifactId>
        <configuration>
           <filename>${project.artifactId}.ear</filename>
           <skip>false</skip>
        </configuration>
      <executions>
        <execution>
          <phase>install</phase>
          <goals>
            <goal>deploy</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
   </plugins>
</build>

A parte ruim da brincadeira é que ele não funciona direito em versões anteriores do JBoss, mas pra isso temos uma solução um pouco menos elegante mas que reolve o problema.
Para isso usaremos um outro plugin o ‘maven-antrun-plugin’ ele é capaz de executar uma série de tarefas como copiar e deletar arquivos. Para facilitar as coisas pode ser interessante criar uma variável de ambiente que aponte para o diretório de instalação do seu JBoss o que facilita o desenvolvimento em equipe e dispensa a necessidade de colocar o path completo.

<build>
  <plugins>
    
    <!-- Aqui definimos os plugins que usaremos dentre eles o de deploy-->
     
    <plugin>
      <artifactId>maven-antrun-plugin</artifactId>
      <executions>
        <execution>
          <id>deploy-DU</id>
          <phase>install</phase>
          <goals>
            <goal>run</goal>
          </goals>
          <configuration>
            <tasks>
              <!-- Aqui copiamos o artefato gerado no diretório target para o diretório de deploy do JBoss -->
              <copy overwrite="true" file="target/myproject-${project.version}.ear" todir="${env.JBOSS_HOME}/server/default/deploy" />
            </tasks>
          </configuration>
        </execution>
        <execution>
          <id>undeploy-DU</id>
          <phase>clean</phase>
          <goals>
            <goal>run</goal>
          </goals>
          <configuration>
            <tasks>
              <!-- Aqui dizemos ao Maven para deletar a versão anterior do nosso artefato no diretório de deploy do JBoss-->
              <delete file="${env.JBOSS_HOME}/server/default/deploy/myproject-${project.version}.ear" />
            </tasks>
          </configuration>
        </execution>
      </executions>
    </plugin>  
  </plugins>     
</build>

Sem muito segredo simples e rápido bons estudos a todos.

Tags: , ,