怎么配置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的配置,当然也可手动加载,具体配置网上很多