У меня есть конфигурация JNDI для всех возможных подключений к базе данных в моем приложении. Тем временем я использую JUNIT для тестирования своих приложений. Я нахожу успешное соединение, создавая вызов класса webservices, но ошибка вызывается при вызове его через класс тестирования junit.javax.naming.NoInitialContextException: при запуске тестовых примеров JUNIT в webservices
Моя установка JNDI является
public static Connection getConnectionPool() {
Connection conn = null;
System.out.println("Creating connection pool.");
try {
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup(getJNDIName());
conn = ds.getConnection();
} catch (SQLException e1) {
e1.printStackTrace();
} catch (NamingException e) {
e.printStackTrace();
}
return conn;
}
private static String getJNDIName()
{
if(!readJNDI)
{
try{
Properties prop = new Properties();
prop.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"));
JNDIName = prop.getProperty("jndi.name");
System.out.println("JNDIName : "+JNDIName);
readJNDI = true;
}catch(Exception ex){
ex.printStackTrace();
}
}
return JNDIName;
}
Ниже упоминается это ошибка.
javax.naming.NoInitialContextException: Необходимо указать имя класса в окружающей среды или системы собственности, или в качестве параметра апплета, или в файле ресурсов приложения : java.naming.factory.initial
Как это разрешить?
Заранее спасибо.
Я думаю, что его дубликат http://stackoverflow.com/questions/1525385/noinitialcontextexception-errori –