2011-01-24 4 views
4

Tomcat의 JNDI에 대해 더 많이 읽었으며 여러 리소스에서 공장 출고가 필요하다는 내용을 읽었습니다. 그들은 종종 "org.apache.tomcat.jdbc.pool.DataSourceFactory"으로되어 있다고 말합니다. 그러나 가장 자주 나는 이런 것을 본다. -tomcat의 server.xml에 대한 팩토리 속성이 필요합니까?

<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" 
       maxActive="100" maxIdle="30" maxWait="10000" 
       username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver" 
       url="jdbc:mysql://localhost:3306/javatest"/> 

그래서이 경우에 tomcat은 무엇을 하는가? 기본값은 "org.apache.tomcat.jdbc.pool.DataSourceFactory"입니까?

+0

ps. 여기에 소스 중 하나가 있습니다. http://vigilbose.blogspot.com/2009/03/apache-commons-dbcp-and-tomcat-jdbc.html –

답변

6

org.apache.tomcat.jdbc.pool.DataSourceFactory은 기본 팩터 리가 아닙니다. 새로운 Tomcat 7.0 기본 제공 high-performance connection pool은 기본 DBCP를 대체하기로되어 있습니다.

기본 공장은 org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory입니다. JNDI resources HOW TO도 참조하십시오. 속성은 실제로 필요하지 않습니다.

+0

감사합니다. 제가 찾던 답변입니다. 마지막 질문으로, 연결 풀 구현 (제작을위한 것이 아니라 홈 프로젝트를 배우기 위해)을 만드는 것이 좋은 곳이 어디일까요? 나는 단지 tomcat-jdbc-pool에서 소스 코드를 살펴볼 생각이었습니다. 그러나 어쩌면 당신은 시작할 수있는 더 좋은 곳이 있습니다. –

+0

기본 Sun/Oracle 자습서 [[Here 's] (http://java.sun.com/developer/onlineTraining/Programming/JDCBook/conpool.html)). 경고 : 예제 구현은 매우 열악합니다. 실제 제작에는 사용하지 마십시오! 예를 들어 풀링 된 연결의 최대 크기를 검사하거나 제한하지 않습니다. – BalusC

+0

흠 나는 이미 그걸 보았습니다. 그렇다고해서 내가 모르는 것을 전혀 말하지 않았습니다. Java에서 간단한 BlackingArrayQueue를 사용하여 연결 풀을 보유하고 성능을 확인했습니다. 나는 어디서부터 시작해야할지 생각하고있다. tomcat-jdbc-pool의 소스를 찾을 수 없습니까? –

관련 문제