PoolConexionesGlassfishNetBeans

Revision as of 15:34, 5 November 2009 by Admin (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)

Pool de conexiones en Glassfish (desde Glassfish y desde NetBeans)

(Elaborado por Diego E. Silva L.)

[[{TableOfContentsTitle=TablaDeContenidos} | {TableOfContents title='Tabla de contenidos'}]]

Glassfish tiene una manera peculiar de tratar los recursos JDBC: Tiene un pool de conexiones, y después un JDBC Resources. Supongo que es porque un pool de conexiones puede tener varios JDBC Resource. Los demás Servidores de Aplicaciones que he visto usan unicamente un JDBC Resource, y en ese mismo se configura la configuración del pool.

Lo que veremos ahora es como se crea un pool de conexion + jdbc resource en Glassfish. Directamente desde Glassfish, y lo mismo desde NetBeans.

Desde el mismo Glassfish

Creando el Pool de conexiones

  1. Entramos a la consola de glassfish. Si está en nuestro equipo local, ingresar a http://localhost:4848 Por defecto, el usuario es admin y la contraseña es adminadmin
  2. En el panel izquierdo de la consola de glassfish, seleccionamos Resources > JDBC > Pool Connections: Image:pool02_PoolConexionesGlassfishNetBeans.jpg. Hacemos clic en el botón "New"
  3. En el asistente para crear un nuevo pool de conexiones, escribimos el nombre del pool. Cualquier nombre es válido, pero recomendable que solo esté compuesto por letras y números y sin espacios. También seleccionamos el tipo de recurso, que generalmente es java.sql.DataSource, y por último seleccionamos cuál es el proveedor de nuestra base de datos. En mi caso usaré MySQL. Image:pool03_PoolConexionesGlassfishNetBeans.jpg Clic en "Siguiente"
  4. Luego, nos mostrará todas las propiedades de nuestra conexión a la base de datos. Generalmente muestra realmente todas las propiedades. Pero para este ejemplo solo usaré los que me interesa: username, password, databasename y Servername. Además activamos los checks "Permitir llamadores que no sean de componentes: " y "Conexiones no transaccionales: " Image:pool04_PoolConexionesGlassfishNetBeans.jpg Clic en Finish

Podemos hacer clic en el botón "ping" ("sondeo" en español) para probar si la conexión ha sido exitosa.

Si nos manda error, ya que la clase controladora de JDBC no existe dentro de Glassfish, entonces necesitamos agregar el .jar correspondiente en $GLASSFISH_HOME/domains/domain/lib

Ya tenemos nuestro pool de conexiones. Ahora nos falta, el recurso JDBC. Esto es más fácil

Creando el recurso JDBC

  1. Seleccionamos del panel lateral izquierdo: Resources > JDBC > JDBC Resources: Image:pool06_PoolConexionesGlassfishNetBeans.jpg Hacemos clic en el botón "New"
  2. Escribimos el nombre de nuestro recurso JDBC en formato JNDI. En mi ejemplo será jdbc/almacenes. Luego seleccionamos con cual pool de conexiones se asociará nuestro recurso JDBC. Image:pool07_PoolConexionesGlassfishNetBeans.jpg Clic en "Aceptar" y Listo.

Ya tenemos nuestra conexión a la base de datos.

De ahora en adelante, cada vez que querramos usar la base de datos (en mi caso) almacenes, llamaré a jdbc/almacenes.

Desde NetBeans

Creando el Pool de Conexiones

Para realizarlo desde NetBeans, necesitamos tener el proyecto que usará la base de datos abierto. Luego, presionamos Ctrl+N (File > New File)

  1. Seleccionamos la categoría Glassfish y el tipo de archivo JDBC Connection Pool Image:pool08_PoolConexionesGlassfishNetBeans.jpg Clic en Next
  2. Escribimos el nombre de nuestro pool de conexiones. De igual manera, cualquier no es válido, pero se recomienda que sea en base a letras y números. Además seleccionamos cual es la base de datos que usaremos. Como es una conexión nueva, entonces seleccionamos "New configuration using database", y - en mi caso - selecciono MySQL: Image:pool09_PoolConexionesGlassfishNetBeans.jpg Clic en Next
  3. Seleccionamos el tipo de recurso (por omisión es java.sql.DataSource, escribimos el URL de nuestra conexión JDBC, el usuario y la contraseña. Image:pool10_PoolConexionesGlassfishNetBeans.jpg Clic en Finish

Listo, ya tenemos nuestro pool de conexiones creado para nuestro proyecto desde NetBeans

Creando el recurso JDBC

Esto también es tan fácil como cuando se hizo desde Glassfish.

  1. Presionamos Ctrl+N (File > New File), seleccionamos la categoría Glassfish y el tipo de archivo JDBC Resource Image:pool11_PoolConexionesGlassfishNetBeans.jpg Clic en Next
  2. Seleccionamos el pool de conexiones que estará asociado a nuestro recurso JDBC. En mi caso es AlmacenesPool, y escribo el nombre en formato JNDI de nuestro recurso jdbc. Image:pool12_PoolConexionesGlassfishNetBeans.jpg Clic en Finish

Listo, nada más. Ya tenemos nuestro recurso JDBC.

El recurso JDBC y el pool de conexiones creados desde NetBeans se crearán en el glassfish unicamente cuando se despliegue el proyecto._

¿Cuál es la diferencia en hacer desde Glassfish o desde NetBeans?

Cuando se hace desde NetBeans, es solo para fines de desarrollo. Notemos que se ha creado el archivo sun-resources.xml en nuestro proyecto. Image:pool13_PoolConexionesGlassfishNetBeans.jpg Dentro tiene toda la configuración que NetBeans usará para crear los recursos JDBC para que nuestra aplicación funcione en nuestro glassfish de desarrollo. Para nada más.

Cuando se crea el archivo .war para desplegar nuestra aplicación en un glassfish de producción, el archivo sun-resources.xml no existe dentro del paquete de instalación. Simplemente no hay. Image:pool14_PoolConexionesGlassfishNetBeans.jpg

Entonces ¿cómo nuestra aplicación puede conectarse a la base de datos estando en el glassfish de producción? Pues bien, en este glassfish de producción, creamos el JDBC resource directamente en el mismo glassfish.

Esto es bueno, porque cuando desarrollamos usamos una base de datos que es solo para desarrollo. Mientras que para poner en producción, usaremos otra conexión, otra base de datos que será para producción.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo