Buongiorno a tutti, ho la necessita di collegarmi al mio db oracle attraverso la configurazione che ho all'interno di jboss ovvero all'interno di standalone.xml dove all'interno ho il mio jndi a cui associo un nome e l'intera configurazione di accesso al db.
La classe java è la seguente:
codice:
import javax.naming.*;
import javax.sql.DataSource;
import java.sql.*;
public class DbConnect {
protected static final String DATASOURCE_CONTEXT = "java:/jdbc/core";
protected static Connection getJNDIConnection() {
Connection result = null;
try {
Context initialContext = new InitialContext();
DataSource datasource = (DataSource) initialContext.lookup(DATASOURCE_CONTEXT);
if (datasource != null) {
result = datasource.getConnection();
}
return result;
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
N.b: java:/jdbc/core questo è il nome del mio jndi nel file standalone.xml
All'interno della stessa classe faccio:
codice:
public static void main(String[] args) {
DbConnect q = new DbConnect();
System.out.println(q.getJNDIConnection());
}
}
e mi da questo errore:
codice:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:344)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at com.nomepackage.ppt.echo.DbConnect.getJNDIConnection(DbConnect.java:16)
at com.nomepackage.ppt.echo.DbConnect.main(DbConnect.java:34)
null
Nel file web.xml non ho inserito nulla!
Potete aiutarmi gentilmente a capire????grazie in anticipo a tutti....