怎麼配置c3p0的xml
❶ 如何載入c3p0 配置文件
ComboPooledDataSource cpds = new ComboPooledDataSource(「test」);
c3p0-config.xml:
<named-config name="test">
<property name="maxStatements">200</property> <propertyname="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="user">root</property>
<property name="password"></property>
</named-config>
❷ 用c3p0連接池和sqlite資料庫怎樣寫xml配置文件
1.XML格式是W3C的標准,各種平台通用,可移植性好。而Windows下的注冊表文件,基本上是黑盒,也不可能被移植到非Windows環境下。
2.XML提供了一種樹形層次結構,可以很方便的定位某一功能塊。而INI文件不提供這種便利。
3.從寫的角度看,幾乎所有的應用程序都能處理XML文件,並且通過DOM提供的方法可以很快捷的對XML文件進行操作,而Reg只能用特定的軟體進行讀取操作,而INI很難進行方便的操作。
4.從讀的角度看,XML文件提供了一種簡潔的自解釋的標記方法,幾乎不需要說明文檔,就能理解XML格式的配置文件的意義。而Reg很難辨識,INI雖然大多情況下比較容易理解,但不可能包含太多的內容。
5.XML高度可擴展,只要遵循一定的規則,XML的可擴展性幾乎是無限的,而且這種擴展並不以結構混亂或影響基礎配置為代價。而龐大的INI文件幾乎一定是混亂的。
當然,即使XML有如此多的好處,它也存在一定的缺點,就是在表達較短的配置時,沒有INI簡練。而且因為它有比較嚴格的格式審查機制,容錯性也不是特別好。但在絕大多數情況下,以XML文件做為配置文件,從長遠來看,還是最好的選擇。
❸ hibernate中如何使用c3p0連接池
將c3p0的jar包復制到項目的lib目錄中,再在hibernate.properties里去掉hibernate.c3p0開頭的那些屬性的注釋(使用預設值或自己需要的數值),這樣
Hibernate就會自動使用C3P0代替內置的連接池了。c3p0為open
source的JDBC連接池,隨hibernate一起發布。c3p0連接池的配置非常簡單,只需要在hibernate.cfg.xml里增加:
<!-- configuration pool -->
<property
name="c3p0.acquire_increment">1</property>
<property
name="c3p0.idle_test_period">100</property> <!-- seconds -->
<property
name="c3p0.max_size">5</property>
<property
name="c3p0.max_statements">0</property>
<property
name="c3p0.min_size">2</property>
<property
name="c3p0.timeout">90</property> <!-- seconds -->
另外,還需要在CLASS_PATH里加上c3p0-x.x.x.jar文件(x.x.x為版本號),c3p0-x.x.x.jar文件隨hibernate一起發布,你可以在其lib目錄下找到該文件。
配置好之後,hibernate便會自動使用c3p0的連接池:C3P0ConnectionProvider
❹ c3p0的log4j的配置文件應該怎麼寫
自動載入配置文件: (1)如果採用log4j輸出日誌,要對log4j載入配置文件的過程有所了解。log4j啟動時,默認會尋找source folder下的log4j.xml配置文件,若沒有,會尋找log4j.properties文件。然後載入配置。配置文件放置位置正確,不用在程序中手動載入log4j配置文件。如果將配置文件放到了config文件夾下,在build Path中設置下就好了。 若要手動載入配置文件如下: (1)PropertyConfigurator.configure("log4j.properties") 默認讀取的是項目根目錄的路徑。此時的log4j.properties要放在項目目錄下。 如圖,log4j.properties和src是同級目錄,同在根目錄下 (2)一般,一個java項目會有很多的配置文件,建議把所有的配置文件放到一個文件夾下, 例如,放到config文件夾。那麼在讀取這些配置文件的時候要加上子目錄名稱。 如圖在項目目錄下創建config文件夾(注意:不是在src文件下),此時,config和src是同級目錄 這時,讀取路徑改為: PropertyConfigurator.configure("config/log4j.properties"); (3):如果不手動設置,不用人為的寫載入log.properties文件的代碼時,直接放src目錄下,千萬要記得,如果新建一個JAVA項目,src文件要弄成原文件包才行 我就是用的這個 (4)項目打成jar包時,一般不會把配置文件也打進jar包。 如果是第一種方式,直接將log4j.properties文件和生成的HelloWorld.jar放在同一目錄下,項目就能順利讀取配置文件。 如果是第二種方式,要建立config文件夾,把配置文件放入其中,再將config文件和生成的HelloWorld.jar放在同一目錄下,項目就能順利讀取配置文件。
❺ spring怎麼對c3p0.xml進行事務管理器配置
都一樣的,jpa中時給spring去讀取,spring中則在自己文件中讀取,
❻ spring c3p0多數據源怎麼配置
首先配置多個datasource
<!-- 主資料庫的數據據源 -->
<bean id="masterDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@192.168.10.11:1521:trew" />
<property name="username" value="poi" />
<property name="password" value="poi" />
</bean>
<!-- 備份庫的數據據源 -->
<bean id="slaveDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@192.168.10.12:1521:trew" />
<property name="username" value="poi2" />
<property name="password" value="poi2" />
</bean>
2、寫一個DynamicDataSource類繼承AbstractRoutingDataSource,並實現determineCurrentLookupKey方法
public class DynamicDataSource extends AbstractRoutingDataSource {
@SuppressWarnings("unused")
private Log logger = LogFactory.getLog(getClass());
@Override
protected Object determineCurrentLookupKey() {
return DbContextHolder.getDbType();
}
}
public class DbContextHolder {
@SuppressWarnings("rawtypes")
private static final ThreadLocal contextHolder = new ThreadLocal();
@SuppressWarnings("unchecked")
public static void setDbType(String dbType) {
contextHolder.set(dbType);
}
public static String getDbType() {
return (String) contextHolder.get();
}
public static void clearDbType() {
contextHolder.remove();
}
}
3. 配置動態數據源
<!--將DynamicDataSource Bean加入到Spring的上下文xml配置文件中去,同時配置DynamicDataSource的targetDataSources(多數據源目標)屬性的Map映射。-->
<bean id="dataSource" class="cn.com.core.datasource.DynamicDataSource">
<property name="targetDataSources">
<map key-type="java.lang.String">
<entry key="masterDataSource" value-ref="masterDataSource" />
<entry key="slaveDataSource" value-ref="slaveDataSource" />
</map>
</property>
<property name="defaultTargetDataSource" ref="masterDataSource"/>
</bean>
4.使用動態數據源(hibernate)
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="lobHandler" ref="lobHandler"/>
<property name="eventListeners">
<map>
<entry key="post-insert">
<ref bean="logListener"/>
</entry>
<entry key="post-update">
<ref bean="logListener"/>
</entry>
<entry key="post-delete">
<ref bean="logListener"/>
</entry>
</map>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle10gDialect
<!-- org.hibernate.dialect.OracleDerbyDialect -->
</prop>
<prop key="hibernate.show_sql">true</prop>
<!-- <prop key="hibernate.generate_statistics">true</prop> -->
<prop key="hibernate.connection.release_mode">
auto
</prop>
<prop key="hibernate.autoReconnect">true</prop>
<!--
<prop key="hibernate.hbm2ddl.auto">update</prop>
-->
<prop key="hibernate.cache.use_second_level_cache">false</prop>
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</prop>
<prop key="hibernate.cache.use_query_cache">false</prop>
</props>
</property>
</bean>
使用Hibernate時的事務管理配置示例:
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
< property name="sessionFactory" ref="sessionFactory" />
bean>
6.動態數據源的管理控制
❼ 關於c3p0,之前用jdbc直接連,現在想用c3p0,網上有很多說怎麼配置,到沒看到在哪裡配置,我用myeclipse。
1,將c3p0和資料庫驅動的jar包放置在項目的lib下
2,在項目的類載入路徑新建c3p0-config.xml(裡面配置好),
這樣系統默認載入這個配置文件來初始化c3p0的配置,當然也可手動載入,具體配置網上很多