2009-06-03 23 views
5

Estoy buscando una manera de lograr el almacenamiento en caché de PreparedStatement, a fin de guardar la recreación de los objetos PreparedStatement para las consultas que ya se han ejecutado en el pasado.Almacenamiento en memoria caché PreparedStatement en Tomcat

¿Hay alguna manera incorporada para lograr esto utilizando Tomcat? ¿O debo programar este caché yo mismo?

Respuesta

2

El caché de sentencias preparadas se realiza mediante su grupo de conexiones JDBC o su controlador JDBC, no por Tomcat.

+0

Creo que podría estar bajo la impresión de que Tomcat ofrece esto, ya que algunos contenedores de servlets J2EE lo administrarán por usted –

3

Creo que tomcat usa commons-dbcp y commons-dbcp admite el agrupamiento de declaraciones preparado.

mira here.

poolPreparedStatements false Habilita la agrupación de declaraciones preparadas para este grupo.

0

Quizás me falta algo en lo que me estás preguntando, pero si estás haciendo tus consultas en "raws" JDBC, entonces, básicamente, todo lo que tienes que hacer es mantener la conexión abierta y seguir con una referencia el Estado Preparado.

+0

Esta es una pregunta acerca de Tomcat. Por lo tanto, no veo cómo la conexión podría mantenerse abierta y referenciable entre las solicitudes, a menos que usted mismo administre el grupo de conexiones. – Ovesh

1

DB2 JDBC Driver (CCM) utiliza una propiedad de conexión JDBC como maxStatements = 10; y almacena en caché las declaraciones para la conexión. El grupo no necesita almacenarlos en caché.

Cuestiones relacionadas