Configurar un DataSource mediante JNDI en Spring
Hoy he decido recuperar mi cuenta de Blogger e intentar colocar información útil (todo lo útil que una persona como yo pueda aportar :), y para empezar hablaré de como se configura mediante Spring un recurso JNDI en una aplicación.
Como es lógico el primer paso consiste en tener un recurso configurado mediante JNDI, en mi caso particular he configurado un "data source" de Oracle en Tomcat 6 (que basicamente es lo mismo que Tomcat 5 ó 5.5 por lo que he leído en el manual). Para ello en el fichero context.xml de la configuración de Tomcat hay que incluir un bloque de configuración similar al siguiente.
Como la mayoría habrá visto, este bloque es simplemente la configuración de Oracle , y para que Tomcat pueda acceder a la base de datos debes tener en la carpeta de librerías de Tomcat el driver adecuado. Los ficheros que hayas de añadir a la carpeta de librerías van en función del recurso que estés configurando.
Llegados a este punto ya tenemos un recurso JNDI que tendrémos que configurar en nuestra aplicación para poder hacer uso del mismo. Como dice el título, esto lo haremos mediante Spring Framework (en mi caso la version 2.5.x, pero en versiones anteriores se hacía de manera similar). Para ello hay que añadir al fichero de configuración del contexto de aplicación (algo que por norma se llamará applicationContext-*.xml o similar) el siguiente bloque de código.
Y con esto hemos terminado, reconozco que para empezar he elegido una tarea bastante sencilla, aunque con esto te ahorras tener que leerte los capítulos pertinentes de los manuales de Spring y Tomcat ;)
Como es lógico el primer paso consiste en tener un recurso configurado mediante JNDI, en mi caso particular he configurado un "data source" de Oracle en Tomcat 6 (que basicamente es lo mismo que Tomcat 5 ó 5.5 por lo que he leído en el manual). Para ello en el fichero context.xml de la configuración de Tomcat hay que incluir un bloque de configuración similar al siguiente.
<Resource name="jdbc/myDB" auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:XE"
username="scott" password="tiger"
maxActive="20" maxIdle="10"
maxWait="-1" />
Como la mayoría habrá visto, este bloque es simplemente la configuración de Oracle , y para que Tomcat pueda acceder a la base de datos debes tener en la carpeta de librerías de Tomcat el driver adecuado. Los ficheros que hayas de añadir a la carpeta de librerías van en función del recurso que estés configurando.
Llegados a este punto ya tenemos un recurso JNDI que tendrémos que configurar en nuestra aplicación para poder hacer uso del mismo. Como dice el título, esto lo haremos mediante Spring Framework (en mi caso la version 2.5.x, pero en versiones anteriores se hacía de manera similar). Para ello hay que añadir al fichero de configuración del contexto de aplicación (algo que por norma se llamará applicationContext-*.xml o similar) el siguiente bloque de código.
<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName"
value="java:comp/env/jdbc/myDB" />
</bean>
Y con esto hemos terminado, reconozco que para empezar he elegido una tarea bastante sencilla, aunque con esto te ahorras tener que leerte los capítulos pertinentes de los manuales de Spring y Tomcat ;)
Comentarios
Por cierto, felicidades por el blog.