• hibernate.spring.xml


    <!-- 配置数据库连接池(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
  • 相关阅读:
    用ASP+DLL实现WEB方式修改服务器时间
    参加了 湖南.NET俱乐部成立大会
    Asp.Net中文本换行
    一直在思考的问题
    GRIDVIEW排序 动态实现和静态实现
    在VS 2005中使用TREEVIEW控件
    GRIDVIEW 中当数据行数未满时,填充空白行
    为了自己的心身健康 合理安排生活 特做了张时间安排表
    在VS 2005后台代码中创建用户控件
    CSS IE7 IE6 Firefox多浏览器兼容(转&摘)
  • 原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/4837718.html
Copyright © 2020-2023  润新知