데이터베이스 연결관련
- 작성자 :
- 박*덕
- 작성일 :
- 2014-05-28 10:17:01
- 조회수 :
- 849
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요 담당자님
JNDI 관련하여 질문드립니다,
현재 context_datasource.xml 에
<jee:jndi-lookup id="testDB" jndi-name="testDB" resource-ref="true" />
로 선언되어 있습니다.
이 부분을 sql.xml 쪽에서 resource 설정하여 쓰는데는 문제가 없습니다.
단지 java 소스에서
dataSource = (DataSource) ctx.lookup("java:comp/env/testDB"); 를 이용하여
접근하여 할 경우
Caused by: javax.naming.NameNotFoundException: Name testDB is not bound in this Context
라고 메세지를 발생하면서 에러가 납니다.
상기와 같이 사용하는 건 불가능한건가요?
아님 다른 부분을 수정하여야 하는지 답변부탁드립니다.
JNDI 관련하여 질문드립니다,
현재 context_datasource.xml 에
<jee:jndi-lookup id="testDB" jndi-name="testDB" resource-ref="true" />
로 선언되어 있습니다.
이 부분을 sql.xml 쪽에서 resource 설정하여 쓰는데는 문제가 없습니다.
단지 java 소스에서
dataSource = (DataSource) ctx.lookup("java:comp/env/testDB"); 를 이용하여
접근하여 할 경우
Caused by: javax.naming.NameNotFoundException: Name testDB is not bound in this Context
라고 메세지를 발생하면서 에러가 납니다.
상기와 같이 사용하는 건 불가능한건가요?
아님 다른 부분을 수정하여야 하는지 답변부탁드립니다.
A
안녕하세요.
올려주신 "testDB에 해당하는 리소스를 Context로부터 찾을 수 없다"는 메세지만으로 볼 때,
InitialContext 객체가 아닌 Context 객체로부터 java:comp/env에 접근하신 것이 아닌가 생각됩니다.
InitialContext의 lookup 메소드를 이용해 보십시오.
Context ctx = new InitialContext(env);
dataSource = (DataSource) ctx.lookup("java:comp/env/testDB");
혹은
Context ctx = new InitialContext(env);
dataSource = (DataSource) ctx.lookup("testDB");
으로 변경해보시기 바랍니다.
또한 was 설정 파일에 resource 이름이 올바른지 다시 한 번 확인해주시기 바랍니다.
올려주신 "testDB에 해당하는 리소스를 Context로부터 찾을 수 없다"는 메세지만으로 볼 때,
InitialContext 객체가 아닌 Context 객체로부터 java:comp/env에 접근하신 것이 아닌가 생각됩니다.
InitialContext의 lookup 메소드를 이용해 보십시오.
Context ctx = new InitialContext(env);
dataSource = (DataSource) ctx.lookup("java:comp/env/testDB");
혹은
Context ctx = new InitialContext(env);
dataSource = (DataSource) ctx.lookup("testDB");
으로 변경해보시기 바랍니다.
또한 was 설정 파일에 resource 이름이 올바른지 다시 한 번 확인해주시기 바랍니다.