Java Expert....Java/Open Source Addict

Redes Sociales

twitterlinkedinrss feedemail youtube

viernes, 31 de agosto de 2018

JDBC Connection Pool - Resource Type Datasources



When we need to configure the connection pool on Glassfish or Payara Server, could be that the Resource Types Datasources options are not clear. Because in this post I going to explain the differences between them.

Resource Types Datasource

  • javax.sql.Datasource.- This datasource type is used in applications that manage a global transaction that always involves just one resource. Sometimes called local transactions. This datasource is related with No-XA Transaction.
  • javax.sql.XADatasource.-  This datasource type is used in applications that manage distributed transactions with one or more databases or other resources like JMS. This datasource is related with XA Transaction.
  •  javax.sql.ConnectionPoolDatasource.- This datasource type is more general, produces a connection (PooledConnection) object that will automatically participate in connection pooling. This implementation works with a middle-tier connection pooling, generally isn't used by a programmer.

Datasource Hierarchy (Ref: shengwangi)


jueves, 30 de agosto de 2018

Problema Could be another instance of Payara Server or Payara Micro


Una vez que se haya instalado PayaraServer y se requiere levantar el servidor de aplicación, en el dominio por defecto (domain1) puede que se presente el siguiente error:




El cual de lo investigado se debe a un conflicto de configuración del valor que tiene la variable  hostname con el valor registrado en los hosts del equipo /etc/hosts, como se puede apreciar en la figura a continuación.




Para solventar el inconveniente, lo que se realizó es actualizar la variable de hostname a localhost para que este igual a la configuración que se tenía en /etc/hosts y posterior a eso ejecutar nuevamente el comando ./asadmin start-domain como se muestra en las figuras a continuación. Es importante mencionar que la actualización de la variable hostname debe realizarse como superusuario.


miércoles, 29 de agosto de 2018

Payara Server una alternativa interesante!!!


En el mundo del desarrollo de software de aplicaciones Java en el ámbito web se han manejado específicamente dos tipos de servidores durante varios años, los servidores web y los servidores de aplicaciones. En este último se han tenido varias opciones como JBossAS, JBossEAP, Wildfly, Gerónimo, Glassfish entre otros; manteniendo mucha similitud entre ellos.

Sin embargo a partir del 2014 se crea un nuevo servidor de aplicaciones llamado Payara Server, el cual aparece producto de la noticia de Oracle en la cual manifiesta que descontinuará el soporte comercial para Glassfish.

Dicho servidor es creado basado en el servidor de aplicaciones Glassfish, pero con algunas diferencias interesantes razón por la cual hoy muchos desarrolladores lo han adoptado y otros estamos en ese proceso.  Les quiero compartir a continuación, las más reelevantes desde mi punto de vista.


  • Actualización Constante.- Payara Server a diferencia de Glassfish  que tenia una frecuencia irregular de liberación de versiones, establece una frecuencia de liberación constante de forma trimestral no solo para las versiones sino también para los parches y actualización de componentes.
  • Herramientas de Caching.- Payara Server integra varias herramientas para manejar el tema del cache como son JCache, Domain Data Grid y Payara Scales (tiene un costo adicional).
  • Agrupamiento Automático.- Payara Server integra a Hazelcast, la cual es una herramienta escalable utilizada para la distribución de datos, para manejar la clusterización (agrupamiento) de manera automática.
  • Seguridad, Monitoreo.- Payara Server incluye varias herramientas para manejar el tema de seguridad y monitoreo.
  • Soporte Microservicios.- Payara Server cuenta con una distribución llamada Payara Micro para el manejo de microservicios. Adicionalmente soporte MicroProfile.
  • Optimizado para Producción.- Payara Server tiene un soporte comercial tanto para ambientes de producción y desarrollo que incluye un soporte 24/7 con una hora de delay de tiempo de respuesta para asuntos de producción urgentes.
  • Participación de la Comunidad.- El proyecto Payara Server se encuentra subido en un repositorio de Payara Github, lo cual permite a la comunidad revisar el código fuente, descargarlo y participar en las mejoras. Adicionalmente se puede apoyar de varias maneras lo cual se puede revisar en el siguiente enlace How to Contribuite Payara Server.

Cabe mencionar que una aplicación Web(.war) o JEE(.ear) puede ejecutarse en cualquier servidor de aplicación. Sin embargo, la decisión de elegir uno u otro dependerá mucho de las características que nos brinden y la expertiz que se tenga en el manejo de uno en particular.