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

データベースクエリの実行に時間がかかりすぎ、アプリケーションが応答しなくなっている場合、データベースクエリのタイムアウトを設定できます。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) これらの変更は、Confluence の更新時に再適用する必要があります。これは、元の databaseSubsystemContext.xml ファイルがバージョンごとに変更されるためです。

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

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

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