jueves, 19 de marzo de 2009

Habilitación del caché de prepared statements de JBoss

La reutilización de prepared statements permite a la base de datos reusar el plan de acceso, lo cual mejora la performance si un mismo statement es ejecutado varias veces. La ganancia de performance puede ser de hasta un 10%.
Sin embargo, debido a una mala interpretación de la especificación JDBC 3, algunos drivers de Oracle no soportan correctamente auto-commit=false (http://www.jboss.org/community/docs/DOC-9328). Por este motivo el caché de preparedStatement está deshabilitado por defecto en la configuración de JBoss.
Para asegurarnos rápidamente que el driver que están usando soporta correctamente auto-commit=false he implementado un pequeño test que verifica el correcto funcionamiento del driver, el cual pueden descargar de http://www.4shared.com/file/93886002/681b749f/autoCommitTest.html(avisen si el link está roto)

Para usarlo:
-Modificar en el jboss-service de adentro de autoCommitTest.sar el nombre del datasource Oracle y de la tabla
- Desplegar en /deploy
- Acceder al MBean mediante la JMX-console y presionar "performTest"
- Si obtienen una respuesta exitosa entonces pueden habilitar sin miedo el caché

No hay comentarios:

Publicar un comentario