如果数据库的查询时间太长同时你的应用程序显示没有响应,你可以配置数据库的查询超时时间。在默认情况下 Confluence 没有超时时间。希望配置数据库查询超时时间,在你的测试服务器上进行下面的操作:
1. 关闭 Confluence。
2. 从 confluence-x.x.x.jar
文件中解压出 databaseSubsystemContext.xml
。这个文件在 confluence/WEB-INF/lib/
,同时拷贝到 confluence/WEB-INF/classes/
目录下面。
3. 编辑 confluence/WEB-INF/classes/databaseSubsystemContext.xml
文件,添加 defaultTimeout 属性到"transactionManager" bean 中:
<bean id=
"tenantedTransactionManager"
class
=
"org.springframework.orm.hibernate.HibernateTransactionManager"
plugin:available=
"true"
>
<property name=
"sessionFactory"
ref=
"sessionFactory"
/>
<property name=
"defaultTimeout"
value=
"120"
/>
</bean>
|
超时的时间默认单位为秒,当查询时间超过这个设置时间的话,将会强制终止查询。在一些情况下 Confluence 没有捕获这个错误,你将可能在 Confluence 中看到错误信息界面。
4. 重启 Confluence。
一旦查询超时时间在你的测试服务器上能够正常工作了,你可以将这个配置整合到你的生产服务器上。
在你对 Confluence 进行升级的时候,你需要重复上面的操作。同时 databaseSubsystemContext.xml
文件可能根据版本的不同而修改。
https://www.cwiki.us/display/CONFLUENCEWIKI/Configuring+database+query+timeout