【Claris FileMaker Server 2023】変更されたJDK17 & ガベージコレクション

2023年05月23日 03:44 PM

Claris FileMaker 2023


Claris FileMaker Server 2023 で、新しく追加された強制ガベージコレクションの機能を見ていきたいと思います。

新機能について

Claris WebDirect などで使用する Javaのバージョンが変更されています。
今までは JRE17 を使用する形でしたが、FileMaker Server 2023からはJDK17を使用することになっています。

環境

今回使用している環境は以下の通りです。

AWS EC2
Windows Server 2022
Claris FileMaker Server 2023 (20.1.1.38)

インストール

コンソールから行うことが可能です。

Javaが設定されていない環境で、Admin Console の Web公開エンジンを有効にすると

手順の記載されている画面が表示されます。

あとはこの手順通りADOPTIUM のサイトからJDK17をダウンロードしてきます。

v19.6までは JREを使用していましたが、本バージョンからJDKに変更されています。
そのため手動でのガベージコレクションの機能が実行できるようになっているようです。

ADOPTIUM のサイトで

 OS: “Windows”
 Architecture:”x64”
 Package Type: “JDK”
 Version: “17”

を選択し、拡張子が「zip」のものをダウンロードします。
*インストールの環境に合わせて選択してください。

「参照」から、ダウンロードしたzipファイルを選択し「アップロード」をおこないます。

アップロードが完了すると、再起動を促されますので、FileMaker Server の再起動をおこないます。

以上でインストール自体は完了です。

強制ガベージコレクションの実行手順

Admin Console の「コネクタ」→「Web公開」→「強制ガベージコレクション」横にある
“今すぐガベージコレクションを実行” をクリックします。

実行しますか?と聞かれますので、「はい」をクリックします。

手順としては以上です。

WebDirectで複数接続がある状態で実行しましたが特にセッションが切れる。ということはありませんでした。が、ここら辺はいろいろと検証が必要かもしれません。

スケジュールガベージコレクションについて

手動だけではなくスケジュールを組むことも可能です。

「スクリプトと検証スケジュール」から「スケジュールの作成」で新しいスケジュールを作成します。

スケジュールタイプを「システムスクリプト」を選択し、スケジュール名と実行日次を設定し、システムスクリプトの「未設定」をクリックし設定画面を表示させます。

表示されるスクリプト名の欄から「Sys Default RunGarbageCollection」を選択します。

設定は以上です。定期的にガベージコレクションの実行が可能です。

ガベージコレクションの種類

いろいろと調べている中で、Claris Engineering Blog の中に新しくJava Garbage Collectionについて記載がありました。

・Using Java garbage collection with FileMaker WebDirect
 https://support.claris.com/s/answerview?anum=000037262&language=en_US

簡単にまとめてみると・・・

ガベージコレクションには4つ種類がある。

・G1 Collector
・Parallel collector
・Z collector
・Shenandoah Collector

デフォルトでは G1 collector になっている。

そして使用collectorを変更可能(!)とのことなので・・・

使用collectorsの変更

早速変更してみました。

C:\Program Files\FileMaker\FileMaker Server\Web Publishing\publishing-engine\jwpc-tomcat\bin

上記パスにある「catalina.bat」の編集を行います。

154行目にある”-XX:+UseG1GC”を変更します。


・G1 Collector     :+UseG1GC
・Parallel collector    :+UseParallelGC
・Z collector      :+UseZGC
・Shenandoah Collector    :+UseShenandoahGC

となっているようです。
試しにParallelに変更してみます。

保存後、FileMaker Server サービスの再起動をおこないます。
以上で変更は完了です。

*設定を間違えると「Java Web Publishing Engine プロセスは異常終了しました。」となり
Web公開エンジンが起動できなくなりますのでご注意ください。。。

新機能強制ガベージコレクションとJavaについてみてきました。

運用的にはスケジュールを組んで、緊急時は手動で
Collectorの変更もできますが、ここら辺はしっかりと検証してから対応していくほうがよさそうですね。

いろいろと検証してみたいと思います。