SPRING+JNDI+C3P0 in tomcat6

Tomcat 에서 Jndi 는 Tomcat 자체 의 연결 풀 을 사용 하 는데 고객 의 요구 로 인해 Tomcat 자체 의 연결 풀 을 포기 합 니 다.c3p 0 사용.몇 시간 동안 의 테스트 를 거 쳐 해결 방안 은 다음 과 같다.
환경: Tomcat 6
다음은 Jndi 와 c3p 0 의 결합 을 살 펴 보 겠 습 니 다.
다운로드 주소:http://nchc.dl.sourceforge.net/sourceforge/
c3p0/c3p0c3p0-0.9.0.4.bin.zip
c3p0 - 0.9.0.4. jar 를 응용 서비스의% tomcat 6% / lib 디 렉 터 리 에 넣 습 니 다.예:
1. context. xml 에 < Context > < / context > 에 < resource / > 를 추가 하고 완전한 예제:

<?xml version='1.0' encoding='utf-8'?>
<Context>

<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!--          jndi+tomcat      -->
<!--<Resource name="jdbc/ctitc" type="javax.sql.DataSource"
	username="business" password="ctitc"			  driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:FJTDC"
maxIdle="30" maxWait="5000"  maxActive="100"/>
	-->	
	<!--          jndi+c3p0-->
 	<Resource name="jdbc/ctitc" 
			type="com.mchange.v2.c3p0.ComboPooledDataSource"
			maxPoolSize="50" minPoolSize="2" acquireIncrement="2"
			factory="org.apache.naming.factory.BeanFactory"
			user="user" password=""
			driverClass="oracle.jdbc.driver.OracleDriver"
			jdbcUrl="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"
			/>
			
</Context>

2. 웹. xml 에 추가:

  <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/ctitc</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>

3. spring 과 결합 하여 코드 는 다음 과 같다.

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/ctitc"/>
</bean>

4. Oacle 데이터베이스 의 rac 플러그 인 을 사용 할 때 url 주소 의 쓰기
두 대의 작은 기 계 는 os 군집 을 하지 않 고 Oacle RAC 만 만 만 들 었 습 니 다. A 기 가상 ip 은 192.168.30.51 이 고 식별 자 는 kms 1 입 니 다.B 기 가상 ip 은 192.168.30.52 이 고 식별 자 는 kms 2 이다.중요 한 연결 문자열 은 다음 과 같 습 니 다:
url=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.30.51)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.30.52)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = kms)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))
주: 서로 다른 버 전 은 서로 다른 연결 방식 이 있 습 니 다. tomcat 5.5 버 전의 연결 방식 은 참조 합 니 다.
http://chenlb.blogjava.net/archive/2007/03/18/104571.html#

좋은 웹페이지 즐겨찾기