inbasisConfig.xml 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ************************************************************************************************************
  4. ********************************** 除特别声明的地方,该文件的其他内容不应随意改动 ***********************************
  5. ************************************************************************************************************
  6. -->
  7. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
  8. xmlns:tx="http://www.springframework.org/schema/tx"
  9. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  10. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
  11. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
  12. <!-- //////////////////数据库配置properties文件////////////////// -->
  13. <bean id="propertyConfigurer" class="inbasis.system.config.DecryptPropertyPlaceholderConfigurer">
  14. <property name="locations">
  15. <list>
  16. <value>/WEB-INF/database.properties</value>
  17. </list>
  18. </property>
  19. </bean>
  20. <!--/////////////////////////////////////////////////////////////-->
  21. <!-- 数据库连接池 -->
  22. <!--/////////////////////////////////////////////////////////////-->
  23. <bean id="DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
  24. <property name="driverClass">
  25. <value>${driver}</value>
  26. </property>
  27. <property name="jdbcUrl">
  28. <value>${url}</value>
  29. </property>
  30. <property name="user">
  31. <value>${username}</value>
  32. </property>
  33. <property name="password">
  34. <value>${password}</value>
  35. </property>
  36. <!-- 其他连接属性配置 -->
  37. <property name="initialPoolSize"><value>${initialPoolSize}</value></property>
  38. <property name="minPoolSize"><value>${minPoolSize}</value></property>
  39. <property name="maxPoolSize"><value>${maxPoolSize}</value></property>
  40. <property name="acquireIncrement"><value>${acquireIncrement}</value></property>
  41. <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
  42. <property name="maxIdleTime"><value>60</value></property>
  43. <!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements
  44. 属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。
  45. 如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0-->
  46. <property name="maxStatements"><value>0</value></property>
  47. <!--每1800秒检查所有连接池中的空闲连接。Default: 0 -->
  48. <property name="idleConnectionTestPeriod"><value>1800</value></property>
  49. <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
  50. <property name="acquireRetryAttempts"><value>30</value></property>
  51. <!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效
  52. 保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试
  53. 获取连接失败后该数据源将申明已断开并永久关闭。Default: false-->
  54. <property name="breakAfterAcquireFailure"><value>false</value></property>
  55. <!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的
  56. 时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable
  57. 等方法来提升连接测试的性能。Default: false -->
  58. <property name="testConnectionOnCheckout"><value>false</value></property>
  59. </bean>
  60. <!--使用JNDI配置数据源
  61. <bean id="DataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
  62. <property name="jndiName" value="inbasisds"/>
  63. </bean>
  64. -->
  65. <!-- /////////////配置SessionFactory//////////////////////-->
  66. <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  67. <property name="dataSource" ref="DataSource"/>
  68. <property name="hibernateProperties">
  69. <props>
  70. <prop key="hibernate.dialect">${dialect}</prop>
  71. <prop key="hibernate.show_sql">${showsql}</prop>
  72. <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
  73. <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
  74. <!--
  75. <prop key="connection.pool.size">1</prop>
  76. <prop key="statement_cache.size">25</prop>
  77. <prop key="jdbc.fetch_size">50</prop>
  78. <prop key="jdbc.batch_size">30</prop>
  79. -->
  80. </props>
  81. </property>
  82. <!--使用mappingDirectoryLocations属性可以指定某目录下的hbm文件-->
  83. <property name="mappingDirectoryLocations">
  84. <list>
  85. <value>classpath*:/inbasis/domain/*/</value>
  86. </list>
  87. </property>
  88. </bean>
  89. <!-- ////////////////////////// Base DAO //////////////////////////// -->
  90. <bean id="IBOBaseDao" class="inbasis.system.IBOBaseDaoImpl">
  91. <property name="sessionFactory"><ref bean="sessionFactory" /></property>
  92. </bean>
  93. <bean id="IBOBaseSrv" class="inbasis.system.IBOBaseImpl">
  94. <property name="baseDao"><ref bean="IBOBaseDao" /></property>
  95. </bean>
  96. <!-- //////////////////////////事务配置//////////////////////////// -->
  97. <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  98. <property name="sessionFactory" ref="sessionFactory"/>
  99. </bean>
  100. <tx:advice id="txAdvice" transaction-manager="transactionManager">
  101. <tx:attributes>
  102. <tx:method name="*" propagation="REQUIRED" rollback-for="Exception"/>
  103. <tx:method name="get*" read-only="true"/>
  104. <tx:method name="find*" read-only="true"/>
  105. <tx:method name="select*" read-only="true"/>
  106. </tx:attributes>
  107. </tx:advice>
  108. <aop:config>
  109. <aop:advisor id="systemTx" advice-ref="txAdvice" pointcut="execution(* inbasis.system.*.*(..))" order="0" />
  110. <aop:advisor id="bussinessTx" advice-ref="txAdvice" pointcut="execution(* inbasis.business.*.*.*(..))" order="1" />
  111. </aop:config>
  112. </beans>