이 기사에서는 사용자 정의 데이터베이스 연결 풀을 사용하여 최대 절전 모드를 확장하는 방법에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
최대 절전 모드 과정에서, 우리는 종종이 문제에 직면합니다. 기성품 제품은 이미 자체 데이터베이스 연결 풀을 사용하고 있습니다. 최대 절전 모드를 사용하는 경우 최대 절전 모드 구성에서 데이터베이스 연결 정보도 구성해야합니다. 이를 위해서는 데이터베이스 연결 정보를 두 곳에서 유지 관리해야하므로 유지하기가 매우 어색합니다.
제품 개발 초기에 최대 절전 모드에 가입하지 않았기 때문에 제품이 최대 절전 모드의 연결 풀을 직접 사용하도록하는 것은 적절하지 않으므로 최대 절전 모드가 제품 자체 연결 풀을 사용하도록해야했습니다. 다행히도 Hibernate는 Connection Pool : ConnectionProvider에 대한 확장 인터페이스를 제공했습니다.
Hibernate 자체는 ConnectionProvider 인터페이스를 사용하여 데이터베이스 연결을 관리합니다. 예를 들어, 자체 C3P0ConnectionProvider, proxoolConnectionProvider 등은 ConnectionProvider 인터페이스를 구현하는 클래스를 작성합니다. 최대 절전 모드 구성 파일에서 관련 매개 변수를이 클래스로 변경해도 괜찮습니다. 관련 코드는 다음과 같습니다.
다음 코드는 Hibernate.cfg.xml에서 이전 데이터베이스 연결 정보 구성을 대체하는 데 사용됩니다.
<!-NMS 제품을 사용한 커스텀-연결 풀-> <속성 이름 = "hibernate.connection.provider_class"> com.shine.sourcedesk.jbpm.nmsconnectionprovider </property>
ConnectionManager 인터페이스를 구현하는 클래스 :
package com.shine.sourcedesk.jbpm; import java.sql.connection; import java.sql.sqlexception; import java.util.properties; import org.hibernate.hibernateexception; import org.hibernate.connection.connectionprovider; import foom.shine.framwork.jdbc.connection. 최대 절전 모드 연결 풀을 사용자 정의하고, 최대 절전 모드를 사용하여 제품의 ConnectionManager * @Author JiangKunPeng */public class nmsConnectionProvider는 ConnectionProvider {@OverRidePublic void Close ()를 구현합니다.}} @OverRidePublic void CloseConnection (연결 연결). ConnectionManager.close (Connection);}@atrivepublic void configure (Properties Properties)는 HiberNateException {} @OverRidePublic Connection getConnection () 던지기 SQLEXCEPTION을 던지기 {// 제품의 데이터베이스 연결 풀을 사용하여 Connection Manager.GetConnection (})@reportePublic BoLean republic Bolean을 얻습니다. 거짓;}이 기사의 설명이 최대 절전 모드 프레임 워크를 기반으로 한 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.