データベースクエリのタイムアウトを設定する

データベースクエリの実行に時間がかかりすぎ、アプリケーションが応答しなくなっている場合、データベースクエリのタイムアウトを設定できます。Confluence には既定のタイムアウトはありません。データベースクエリのタイムアウトを設定するには、テストサーバーで以下を実行します。

1. Confluence をシャットダウンします。

2. confluence/WEB-INF/lib/ にある confluence-x.x.x.jar から databaseSubsystemContext.xml を抽出して、コピーを 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 に移行します。

(warning) You will need to reapply these changes when upgrading Confluence, as the original databaseSubsystemContext.xml file changes from version to version.

最終更新日: 2021 年 2 月 2 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.