2015-07-02 5 views
0

У меня есть конфигурация 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

Как это разрешить?

Заранее спасибо.

+0

Я думаю, что его дубликат http://stackoverflow.com/questions/1525385/noinitialcontextexception-errori –

ответ

0

Вы должны использовать локальный источник данных.

Просто вытащите определение DataSource/TransactionManager в отдельный XML-файл и используйте это вместо JNDI во время тестирования.

Вы все еще можете использовать всю оставшуюся конфигурацию.

Смежные вопросы