서버에 JNDI등록 후 Context 인스턴스로 lookup시에 발생

크 게 두 가지 원인 존재함

-서버에 해당이름의 리소스가 없는 경우
주로 설정한 이름과 소스상에서 바인딩하는 이름이 상이해서 발생
설정값과 소스를 확인해서 일치시켜서 해결

-서버에 해당이름의 리소스를 생성하기 위한 라이브러리들이 클래스패스에 없는 경우
Tomcat서버에 아파치 DBCP를 JNDI 리소스로 등록해서 DataSource를 생성하는 경우 설정에 아무 문제가 없더라도 위와 같은 에러가 발생

Tomcat에서 dbcp DataSource를 생성하기 위해서는 Context 인스턴스로부터  NamingContext인스턴스를 생성하고 해당 JNDI이름을 통해  DataSource를 생성하는 과정에서
commons dbcp
commons collections
commons pool

위의 3개 라이브러리가 필요함

서버 설정상이나 서버 시작시에 JNDI로 인한 인스턴스 생성과정을 추적하여 관련 라이브러리의 존재여부를 확인하지 않음. 해당 라이브러리들을 서버의 classpath에 등록시키면 해결

+ Recent posts