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

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

Last modified on Mar 31, 2023

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

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