SestoⅡ 今週の進展(1月第1週)

<< 戻る   トップ >>

【01月04日(火)】

あいかわらず JAX-RS が倒れる。原因は、MySQL とのタイムアウトした接続を使おうとするためだ。中越 智哉「MySQLの接続タイムアウト設定」Knowledge-ex. Blog (2006) によると、「MySQL(4.x系。5.x系は未確認)ではコネクションの状態を常時監視していて、一定時間利用していないと接続を切断する」とのことだ。初期設定では、この一定時間が8時間ほどに設定されていて、「一晩たつと JAX-RS が倒れている」ことになる。したがって、解決方法の一つは、タイムアウトの延伸だ。my.cnf の設定例は以下の通り。31,536,000秒 = 1年 である。

[mysqld]
set-variable = wait_timeout=31536000
set-variable = interactive_timeout=31536000

それにしても、この記事が書かれたのは 2006年、16年前だ。そんな問題に今頃引っかかっているということは、こちらのコードに不備がある可能性が高い。JAX-RS ビーンのスコープ設定あたりに間違いがあるのではないか。そう思って調べてみると、そもそもスコープが設定されていなかった。@RequestScoped を設定し、再配備。正解かどうかがわかるのは8時間後。

【01月05日(水)】

正解だった(糠喜び)。さらに、point イベントを mouse / touch イベントに変更したときの考慮漏れも修正したり、説明つきリスト <dl> のスタイルを設定した。また、最新記事の並びを「更新日時順」から「投稿日時順」に変更した。更新日時順では違和感があったため。これで、SestoⅡ初期段階の問題はある程度クリアできたのではないか。次の作業は週末からの連休で、文書内のリンクを処理する。また、できれば画像への参照も処理してしまいたい。

【01月06日(木)】

正解じゃなかった。昨日は、おそらく8時間以内にアクセスしてしまったものと思われる。

その後、 サーチマン佐藤「DB接続の胆。コネクションプール無し・有りのイメージ」を参考に、validationQuery="SELECT 1" をResource設定に追加してみた。なお、validationQuery については、Apache「TOMEE Datasource Configuration」も参照した。

【01月07日(金)】

現時点では、効果なし。引用符の有無・キャメルケースの変更などを試してみることにする。


作成: 2022-01-08 13:07:36更新: 2022-01-08 13:07:36
https://museo-anonimo.jp/nanban/?id=1589,https://museo-anonimo.jp/nanban/tr/1589