Páginas

30/12/14

JNDI datasource JUnit test JBoss.

JNDI datasource JUnit test.

JNDI datasource JUnit test JBoss.



Para poder utilizar JUnit en una clase en la cual hacemos una consulta a la base de datos y dicha consulta obtiene la conexión mediante JNDI con el datasource de JBoss 7 tenemos que enlazar ese datasource al InitialContext. Si vas a utilizar esto para hacer la clase "test" de JUnit tienes que hacer que el método donde se enlaza el datasource con el contexto inicial se ejecute primero con la anotación @BeforeClass. Aqui te dejo el codigo para eso:
@BeforeClass
 public static void setUpClass() throws Exception {
  try {
   System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
     "org.apache.naming.java.javaURLContextFactory");
   System.setProperty(Context.URL_PKG_PREFIXES, "org.apache.naming");
   
   InitialContext initialContext = new InitialContext();
   initialContext.createSubcontext("java:jboss");
   initialContext.createSubcontext("java:jboss/datasources");
   // Reemplaza en nombre del datasource por el tuyo
   initialContext
     .createSubcontext("java:jboss/datasources/DataSourceDatoJava");

   OracleConnectionPoolDataSource poolDataSource = new OracleConnectionPoolDataSource();
   poolDataSource.setURL("jdbc:oracle:thin:@localhost:1521:");
   poolDataSource.setUser("datojava");// Tu usuario
   poolDataSource.setPassword("datojava"); // Tu contraseña

   initialContext.rebind("java:jboss/datasources/DataSourceDatoJava",
     poolDataSource);
  } catch (NamingException ex) {
   ex.printStackTrace();
  }
 }
 
Ya con este dato java podemos ejecutar nuestra clase test de JUnit.


Temas Relacionados:

No hay comentarios :

Publicar un comentario