MySQL DataSource en JBoss

Estoy desarrollando una app en OpenShift y esta vez quise escribirla en Java.

Toda la vida he trabajado con GlassFish … pero en OS no tienen soporte para dicho server … así que la única opción que quedaba era usar Tomcat o JBoss … nunca he usado ninguna de las 2… pero me fui con la última.

Pude levantar el servidor y mandar info desde un jsp a un servlet sin ningún problema. El problema comenzó al tratar de crear un pool de conexiones para MySQL… estuve bastante rato tratando de hacerlo…. así que lo siguiente es un tuto para lograrlo🙂

Descargar el driver MySQL para Java

Simple, desde aquí. Mi versión (a la fecha) es mysql-connector-java-5.1.27-bin.jar .

Mover driver a carpeta JBoss

Una vez que descargamos el driver y lo descomprimimos, creamos las carpetas para el mismo (siempre dentro de modules) : com/mysql/main  lo copiamos/movemos a la carpeta recién creada. Mi ruta completa es así: /home/luk0s/.Programas/jboss-eap-6.1/modules/com/mysql/main . Ahora, creamos el archivo module.xml y tenemos algo así. main_013

Editar archivo module.xml

Agregamos lo siguiente al archivo:

<?xml version="1.0" encoding="UTF-8"?>

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

Donde com.mysql corresponden a las carpetas y path tiene el nombre del archivo.

Referenciarlo desde Servidor

Ahora que tenemos el módulo creado, tenemos que referenciarlo para poder utilizarlo. Para eso editamos el archivo standalone.xml dentro de raiz_jboss/standalone/configuration .

Bajamos hasta el tag de <drivers> y agregamos lo siguiente:

<driver name="mysql" module="com.mysql" />

Siendo com.mysql el nombre de nuestro módulo antes creado.

Agregando referencia como DataSource

Lo siguiente es, y sin salir de standalone.xml es subir hasta <datasources> y agregar el siguiente item:

<datasource jndi-name="java:/mydb" pool-name="taxionline_pool" enabled="true" jta="true" use-java-context="true" use-ccm="true">
    <connection-url>jdbc:mysql://localhost:3306/BASE_DE_DATO</connection-url>
    <driver>mysql</driver>
    <security>
        <user-name>NOMBRE_USUARIO</user-name>
        <password>PASSWORD</password>
    </security>
    <statement>
        <prepared-statement-cache-size>100</prepared-statement-cache-size>
        <share-prepared-statements/>
    </statement>
</datasource>

Reemplazando donde corresponda por nuestros datos

Levantando servidor

Por último, iniciamos el servidor y en el output deberíamos tener algo así: Guake!_014Y en la consola de administración: Área de trabajo 1_015

Espero les sirva🙂

Link base: https://zorq.net/b/2011/07/12/adding-a-mysql-datasource-to-jboss-as-7/

Acerca de MaritoCares

Ingeniero Informático. Con tendencias a la programación en [C#, VB].NET, Java(Web principalmente...), PHP, JavaScript, algo mínimo de [ruby, python], y el clásico C.
Esta entrada fue publicada en MySQL, Tutoriales y etiquetada , . Guarda el enlace permanente.

Una respuesta a MySQL DataSource en JBoss

  1. Anónimo dijo:

    esta Perfecto tu tutorial pero y ahora como creo un servlet para invocar ese datasource desde un jsp?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s