我在application.My配置文件中使用了Spring3和hibernate 3.x和mule 3.x
<spring:bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<spring:property name="dataSource" ref="dataSource" />
<spring:property name="packagesToScan" value="${hibernate.packagesToScan}" />
<spring:property name="eventListeners">
<spring:map>
<spring:entry key="pre-insert">
<spring:bean
class="com.myapp.listener.PreInsertOrUpdateEventListener"
id="preInsertOrUpdateEventListener" />
</spring:entry>
<spring:entry key="pre-update">
<spring:bean
class="com.myapp.listener.PreInsertOrUpdateEventListener"
id="preInsertOrUpdateEventListener" />
</spring:entry>
</spring:map>
</spring:property>
<spring:property name="hibernateProperties">
<spring:props>
<spring:prop key="hibernate.dialect">${hibernate.dialect}</spring:prop>
<spring:prop key="hibernate.show_sql">${hibernate.show_sql}</spring:prop>
<spring:prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}
</spring:prop>
<spring:prop key="hibernate.temp.use_jdbc_metadata_defaults">${hibernate.temp.use_jdbc_metadata_defaults}
</spring:prop>
<spring:prop key="hibernate.connection.provider_class">${hibernate.connection.provider_class}
</spring:prop>
<spring:prop key="hibernate.dbcp.initialSize">${hibernate.dbcp.initialSize}
</spring:prop>
<spring:prop key="hibernate.dbcp.maxActive">${hibernate.dbcp.maxActive}
</spring:prop>
<spring:prop key="hibernate.dbcp.maxIdle">${hibernate.dbcp.maxIdle}
</spring:prop>
<spring:prop key="hibernate.dbcp.minIdle">${hibernate.dbcp.minIdle}
</spring:prop>
</spring:props>
</spring:property>
</spring:bean>
<spring:bean id="dataSource" name="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<spring:property name="driverClassName" value="${db.driverClassName}" />
<spring:property name="url" value="${db.url}" />
<spring:property name="username" value="${db.username}" />
<spring:property name="password" value="${db.password}" />
</spring:bean>
我想为连接池调用我的自定义连接提供程序类,但它没有被调用。有谁能告诉我问题出在哪里?
谢谢。
发布于 2013-04-30 20:59:14
AnnotationSessionFactoryBean
和LocalSessionFactoryBean
用spring提供的LocalDataSourceConnectionProvider
替换了连接提供程序。所以要么你必须使用它,要么通过扩展它来创建你自己的自定义LocalSessionFactoryBean
。
查看LocalSessionFactoryBean
源代码,了解它是如何设置connectionProvider
值的。
希望能有所帮助。我也在寻找一个很好的解决方案。
https://stackoverflow.com/questions/15964546
复制相似问题