<!-- 配置数据库连接池(c3p0) -->
<!-- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
基本信息
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="driverClass" value="${jdbc.driver}"></property>
<property name="user" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>

其他配置
连接池中保留的最小连接数。
<property name="minPoolSize" value="10" />
连接池中保留的最大连接数。Default: 15
<property name="maxPoolSize" value="100" />
<property name="initialPoolSize" value="10" />
最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0
<property name="maxIdleTime" value="1800" />
当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3
<property name="acquireIncrement" value="3" />
JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements
属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。
如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0
<property name="maxStatements" value="1000" />

每60秒检查所有连接池中的空闲连接。Default: 0
<property name="idleConnectionTestPeriod" value="60" />

定义在从数据库获取新连接失败后重复尝试的次数。Default: 30
<property name="acquireRetryAttempts" value="30" />
两次连接中间隔时间,单位毫秒。Default: 1000
<property name="acquireRetryDelay" value="1000" />
true表示pool向数据库请求连接失败后标记整个pool为block并close,
就算后端数据库恢复正常也不进行重连,客户端对pool的请求都拒绝掉。
false表示不会标记 pool为block,新的请求都会尝试去数据库请求connection。
默认为false。因此,如果想让数据库和网络故障恢复之后,
pool能继续请求正常资源必须把此项配置设为false
<property name="breakAfterAcquireFailure" value="false" />
因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的
时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable
等方法来提升连接测试的性能。Default: false
<property name="testConnectionOnCheckout" value="false" />
</bean> -->

datasource:

<bean id="dataSource" class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">
<property name="targetDataSource">
<bean id="mainDataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driver}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- 检查数据库连接池中空闲连接的间隔时间(分) 默认:240 -->
<property name="idleConnectionTestPeriodInMinutes" value="1"/>
<!-- 连接池中未使用的链接最大存活时间(分) 默认:240 -->
<property name="idleMaxAgeInMinutes" value="4"/>
<!-- 每个分区最大的连接数 -->
<property name="maxConnectionsPerPartition" value="20"/>
<!-- 每个分区最小的连接数 -->
<property name="minConnectionsPerPartition" value="2"/>
<!-- 分区数 默认值:2,最小值:1 -->
<property name="partitionCount" value="3"/>
<!-- 连接数不够时,每次创建的新链接个数 默认值:2 -->
<property name="acquireIncrement" value="2"/>
<!-- Statement实例缓存个数 默认值:0 -->
<property name="statementsCacheSize" value="50"/>
<!-- 每个分区释放链接助理进程的数量 默认值:3 -->
<property name="releaseHelperThreads" value="3"/>
</bean>
</property>
</bean>

datasource

sessionFactory:

<!-- 配置SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
<property name="entityCacheStrategies">
<props>
<prop key="com.astasys.dms.coeus.audit.LogEntry">read-only</prop>
<prop key="com.astasys.dms.coeus.domainobjects.HierarchicalNode">read-write</prop>
<prop key="com.astasys.dms.coeus.roles.RoleExecutor">read-write</prop>
</props>
</property>
<property name="collectionCacheStrategies">
<props>
<prop key="com.astasys.dms.coeus.domainobjects.HierarchicalNode.descriptions">read-write</prop>
<prop key="com.astasys.dms.coeus.domainobjects.propertyprofile.PropertyProfileTemplate.propertyDescriptors">read-write</prop>
</props>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${jdbc.dialect}</prop>
<prop key="identityGenerationDisableString"></prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.jdbc.batch_size">20</prop>
<prop key="hibernate.max_fetch_depth">3</prop>
<prop key="hibernate.bytecode.use_reflection_optimizer">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="net.sf.ehcache.configurationResourceName">/ehcache.xml</prop>
<prop key="hibernate.query.substitutions">true '1', false '0'</prop>
<prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</prop>
<prop key="hibernate.connection.isolation">1</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>TypeTable.hbm.xml</value>
<value>RolePlayer.hbm.xml</value>
<value>Message.hbm.xml</value>
<value>Email.hbm.xml</value>
<value>PropertyProfile.hbm.xml</value>
<value>AuditTrail.hbm.xml</value>
<value>OCRNightJob.hbm.xml</value>
<value>OCRLogging.hbm.xml</value>
<value>Announcement.hbm.xml</value>
<value>RelatedSearch.hbm.xml</value>
<value>NotificationGroup.hbm.xml</value>
<value>DocumentWorkflow.hbm.xml</value>
<value>Forum.hbm.xml</value>
<value>Lifecycle.hbm.xml</value>
<value>MailboxImport.hbm.xml</value>
<value>LicenseUsageMonthlyReport.hbm.xml</value>
</list>
</property>
<property name="entityInterceptor">
<bean class="com.astasys.dms.coeus.interceptors.NodeInterceptor" />
</property>
</bean>

sessionFactory

transaction:

<!-- 配置声明式的事务管理(采用基于注解的方式) -->
<bean id="defaultHibernateTx" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- <tx:annotation-driven transaction-manager="transactionManager" /> -->

<tx:advice transaction-manager="defaultHibernateTx" id="txAdvice">
<tx:attributes>
<tx:method name="find*" read-only="false"/>
<tx:method name="add*" rollback-for="Exception"/>
</tx:attributes>
</tx:advice> <aop:config>
<aop:pointcut expression="execution(* com.astasys.transaction.service.*.*(..))" id="txpointcut"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txpointcut"/>
</aop:config>

transaction aop

最新文章

  1. C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 多系统开发接口 - 苹果客户端开发接口
  2. PKUSC 模拟赛 题解_UPD
  3. Angularjs 整体框架结构
  4. JavaScript 语句后应该加分号么?
  5. zencart 自定义函数
  6. [noip 2015]运输计划 [LCA][树链剖分]
  7. 【翻译】CSS Animations VS the Web Animations API:案例学习
  8. 第2次作业:stream案例分析
  9. 能ping通虚拟机中的Ubuntu,使用XShell连不上
  10. Laravel框架中打印sql
  11. [Swift]LeetCode955. 删列造序 II | Delete Columns to Make Sorted II
  12. UIScrollView的AutoLayout约束
  13. [elk]bin/elasticsearch-sql-cli使用
  14. 实现一个原子的正整数类:AtomicPositiveInteger
  15. 海量数据拆分到nosql系统的一种方案
  16. 巧用call,appl有 根据对象某一属性求最大值
  17. KEUC首次落地中国,网易云深度剖析Kubernetes优化与实践
  18. servlet 多线程
  19. ThreadLocal 类说明
  20. 剑指offer_面试题5_从尾到头打印链表(栈和递归实现)

热门文章

  1. F110 参数保存和重新运行录屏
  2. django 查询
  3. jQuery开发入门
  4. $ListView的优化机制和滑动时数据错乱的讨论
  5. 常用display属性
  6. 什么是make config,make menuconfig,make oldconfig,make xconfig,make defconfig,make gconfig?【转】
  7. 网络安全-跨站脚本攻击XSS(Cross-Site Scripting)
  8. MYSQL limit用法
  9. 【bzoj1299】[LLH邀请赛]巧克力棒(博弈论思维题)
  10. 使用iView时报&quot;Parsing error: x-invalid-end-tag&quot;错误的解决方案