2011-04-27 5 views
2

org.apache.tomcat.dbcp.dbcp.BasicDataSource의 바람둥이 구현을 실행하고 다른 컴퓨터에서 실행하면 org.apache.commons.dbcp.BasicDataSource (명백하게는 ClassCastException이됩니다)의 아파치 공유 구현을 얻을 수있는 한 컴퓨터에서 다음 코드를 실행할 때. 왜 코드가 변경되지 않고 context.xml이 될지 궁금해지면 DataSource의 두 가지 구현을 반환하게 될까요?JDBC DataSource

Context context = (Context) initialContext.lookup("java:/comp/env"); 
return (DataSource) context.lookup("jdbc/dbName"); 
+0

이러한 클래스가 포함 된 jar 파일을 확인 했습니까? – JSS

+0

클래스 패스 문제만큼 간단할까요? 두 Tomcat 서버가 같은 시작 스크립트로 시작 되었습니까? 전쟁은 두 서버 모두에서 정확히 동일한 파일입니까? 두 서버 구성이 동일합니까? – corlettk

+0

귀하의 의견을 보내 주셔서 감사합니다, @ JSS 내가 그들의 항아리 파일을 무엇입니까? @Corlettk 클래스 패스 문제로 무엇을 의미하는지 모르겠다. 시작 스크립트는 메모리 할당 측면에서 다르며 예전과 동일하다. PLZ 좀 더 구체적인 수 있습니다. – Abidi

답변

1

전쟁 중에 DBCP를 포함하지 않았다고 가정합니다. 따라서 Tomcat에 구성된 DataSource를 사용하고 있습니다. 아마도 두 가지 다른 버전의 Tomcat을 사용하고 있거나 최소한 다른 Tomcat 버전을 사용하고있을 것입니다. 하나에는 commons-dbcp.jar이 있어야하고 다른 하나에는 tomcat-dbcp.jar가 있어야합니다.