DJ메탈짱™의 Free Style

자바 톰캣 시작시 javax.naming.NameNotFoundException 예외발생 본문

일(job)/JAVA

자바 톰캣 시작시 javax.naming.NameNotFoundException 예외발생

뽀&쏭 2016. 1. 22. 17:31

 

 

서블릿 구동시 bos2라는 Datasource를 찾지 못해 오류가 발생

Context dbCtx = new InitialContext();

this.wcsDataSource = (DataSource) dbCtx.lookup("java:/comp/env/jdbc/bos2");

 

------------------------------------------------------------------------

심각: Servlet /testClient threw load() exception

javax.naming.NameNotFoundException: Name bos2 is not bound in this Context

------------------------------------------------------------------------

 

아래 server.xml을 살펴보면 두 개의 컨텍스트를 설정하여 컨텍스트간 포워딩을 하고 있는데

Data Resource의 name이 중복되고 있어 오류가 났었음.

testClient에서 사용하기 위한 Data Resource의 name을 변경하여 오류가 해결됨.

 

name="jdbc/bos" --> name="jdbc/bos2" 

server.xml

<Context crossContext="true" docBase="test" path="/" reloadable="false" source="org.eclipse.jst.jee.server:test">

<Resource auth="Container" description="DB Connection" driverClassName="oracle.jdbc.driver.OracleDriver"name="jdbc/bos" password="xxx#" type="javax.sql.DataSource" url="xxx" username="xxx"/>

<Loader className="org.apache.catalina.loader.VirtualWebappLoader" virtualClasspath="xxx"/>

</Context>

<Context crossContext="true" docBase="testClient" path="/testClient" reloadable="true" source="org.eclipse.jst.jee.server:testClient">

<Resource auth="Container" description="DB Connection" driverClassName="oracle.jdbc.driver.OracleDriver"name="jdbc/bos" password="xxx2#" type="javax.sql.DataSource" url="xxx2" username="xxx"/>

</Context>