Configurar un datasource para ser usado por Struts

2133 vistas

Si bien no es aconsejable gestionar la persistencia de datos en la presentación, puede ser útil acceder a los datasources directamente.

El DataSource manager de Struts es el componente encargado de la gestión de los DataSources; se configura directamente en el fichero de configuración struts-config.xml. Podemos usarlo para proporcionar cualquier conjunto de conexiones que implemente la interfaz javax.sql.DataSource.

Si no tenemos ningún componente nativo, podemos usar el Jakarta Commons dbcp's BasicDataSource [org.apache.commons.dbcp.BasicDataSource] disponible en el proyecto Commons en Jakarta.

Tendremos que configurar el proveedor de datos (ejemplo para PostgreSQL) en el fichero struts-config.xml:



xml
  1. <data-sources>
  2. <!-- configuration for commons BasicDataSource -->
  3.   <data-source type="org.apache.commons.dbcp.BasicDataSource">
  4.     <set-property property="driverClassName" value="org.postgresql.Driver" />
  5.     <set-property property="url" value="jdbc:postgresql://localhost/mydatabase" />
  6.     <set-property property="username" value="me" />
  7.     <set-property property="password" value="test" />
  8.     <set-property property="maxActive" value="10" />
  9.     <set-property property="maxWait" value="5000" />
  10.     <set-property property="defaultAutoCommit" value="false" />
  11.     <set-property property="defaultReadOnly" value="false" />
  12.     <set-property property="validationQuery" value="SELECT COUNT(*) FROM users" />
  13.   </data-source>
  14. </data-sources>



Nota: la sentencia SQL de la propiedad validationQuery tiene que devolver al menos 1 registro.

Ahora podemos usar directamente esta conexión en las Actions.