Aplicaci贸n J2EE (Web, Ejb, Datasource)

lesancor
29 de Junio del 2006
Hola:

Estoy haciendo un programa en J2ee (soy un novato) y me tiraron a los leones de una...

Ahora estoy tratando de hacer una conexi贸n a la Base de Datos mediante un DataSource (creo q ya lo tengo configurado en el servidor WAS de IBM, lo prob茅 en el administrador de consola del servidor y me funciona).

La conexi贸n tiene que ser desde la capa EJB, utilizando JNDI para obtener el data source... tengo el siguiente c贸digo, pero no tengo que ponerlo en el EJB mismo, sino que, se recomienda tenerlo centralizado, implementando el patr贸n Service Locator.

------------------------------------------------------------------------------------------------------------------------------------
Connection connection = null;
Properties prop = new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY, \"com.ibm.websphere.naming.WsnInitialContextFactory\");

InitialContext contexto = new InitialContext(prop);

try {
// suponiendo que en ejb-jar.xml esta declarado el resource-ref con
// el nombre dataSOURCE
DataSource origenGo = (DataSource) contexto.lookup(\"java:comp/env/dataSOURCE\");
connection = origenGo.getConnection();
} finally {
contexto.close();
}
--------------------------------------------------------------------------------------------------------------------------------------


Al ser la conexi贸n en la capa EJB... 驴que Beans se usa? y 驴como se hace la relaci贸n con el datasource?

Una vez hecha la conexi贸n en la capa EJB, 驴como hago referencia a esa conecci贸n desde la capa de presentaci贸n (una JSP por ejemplo) ?

Y lo otro que se me queda en el tintero, 驴en que parte se deja el c贸digo del \"service locator\"?, lo tengo y lo entiendo.... pero el problema es que no se si va en el EJB o en el modulo Web.

Si hay alguien de buena voluntad que me pueda ayudar, se lo agradecer铆a un mont贸n.

RobertoGP
29 de Junio del 2006
Hola,
puedes crear una clase p.e. MaestroDB con el codigo que abre las conexiones desde el pool y crear dos metodos, AbrirConexion y CerrarConexion.
Despues tus beans haces que extiendan de esta clase y listo: cada vez que accedas a ddbb abres, y luego cierras.
Ciao