R9.2.0への移行

最終更新日: 2023年3月28日

Javaのバージョン

R9.2.0より、対応するJavaは11以降、となりました。(R9.0.0〜R9.1.xまでは Java 8 から Java 15 まで、となっています。)

R9.2.0へ以降する場合は、これまでJava8を使っていた環境では、Java11以降に変更してください。

Java 17 以降で動作する(サーバサイドの)スクリプトエンジン

Java 8 と互換性のある Nashorn を同梱しています。これまでのスクリプトはそのまま利用できます。

リポジトリ

ラジオボタン・チェックボックスの折り返し数

検索画面にラジオボタン・チェックボックスの折り返し数を指定できるようになりました。移行時、この値は「空白」となっています。

登録更新画面の折り返し数設定は自動的に設定されないため、手動で設定してください。

システムリポジトリの修正

保留フロー状態

ワークフローの申請状況欄で juserのname項目を表示させるため、「保留フロー状態(jfcsuspendworkstate)」モデルに「申請者名(createuserName)」項目を追加しました。

この項目は、連動する項目名に「申請者(createuser)」項目を指定した参照連動項目で、参照先モデル項目は juser の「名前(name)」項目となっています。
DB保存項目ではないため、R9.1.x までのテーブル定義はそのまま利用できます。

ワークフローの申請状況表示用のコントローラクラスで、上記「申請者名」項目を name 属性として保存するようにしました。juser の「名前(name)」が空文字の場合は、アカウントを設定するようにしています。ワークフローポートレットの JavaScript の変更はありません。

「保留フロー状態(jfcsuspendworkstate)」モデルを修正している場合

「保留フロー状態(jfcsuspendworkstate)」モデルに項目追加など、修正を行っている場合、R9.2.0 へ移行すると初期リポジトリが使われるため、これまでの修正が反映されません。(つまりR9.1.xまでの保留フロー状態モデルは移行されません)移行後に再度、同じ修正を保留フロー状態モデルに適用してください。

旧方式 (juserのuserid表記) に戻す場合

ワークフローポートレットでこれまで通りアカウントを表示したい場合は、ポートレットの JavaScript を直接、修正し、nameではなくuseridを使うようにしてください。

カスタマイズコードの修正

commons-lang.jar同梱の廃止

commons-lang.jarは同梱せず、commons-lang3.jarに一本化しました。カスタマイズコードで "org.apache.commons.lang." を使っている箇所はすべて "org.apache.commons.lang3." へ変更してください。

commons-httpclient.jar同梱の廃止

Commons httpclient は開発が終了しており、発見された既知の脆弱性も修正されないことから、Wagby への同梱を行わないこととしました。代わって Apache HttpComponent を同梱します。

カスタマイズコード (スクリプト含む) で同ライブラリを使っている場合は、手動で同ライブラリを組み込むか、または Apache HttpComponent に対応するコードへ書き換えてください。

重要

この対応を行わないと、ビルド時にコンパイルエラーになります。(スクリプトの場合、実行時にエラーになります。)

設定ファイルの変更

Tomcat 設定ファイル server.xml

R9.2.0 よりTomcatのパラメータ maxHttpHeaderSize, maxParameterCount, maxPostSize を Designer で設定できるようになりました。

これらのパラメータをカスタマイズによって手動修正し customize フォルダに保存していた場合、Designerの設定に切り替えることで customize フォルダによる管理を行わない運用とすることができます。

ワークフロー設定ファイル flowPattern_template.vm

R9.2.0より .vm ファイルを変換するテンプレートエンジン Velocity が1系から2系にバージョンアップしました。

R9.0.x および R9.1.x からの移行時はフルビルドした wagbyapp を本番環境に転送するため、問題はありません。

もしワークフロー実行時に何らかのエラーが生じた場合、念のため WEB-INF/workflow-definitions 以下の xml ファイルを手動で削除し、wagbyapp を再起動してください。再起動のタイミングで flowPattern_template.vm からフローパターンファイル (xml) が再作成されます。

css-dependency.properiesの廃止

ブラウザの差異を吸収する仕組み css-dependency.properties を廃止しました。カスタマイズして利用していた場合、その修正を mycommon.css などへ反映させるようにしてください。

Wagby Desinger

  • application.propertiesの次のキー名が(R9.1.xまでの版から)変更になりました。
    • server.servlet-path は spring.mvc.servlet.path へ。
    • server.session.timeout は server.servlet.session.timeout へ。
    • server.session.tracking-modes は server.servlet.session.tracking-modes へ。

Hibernateバージョンアップの影響

Hibernateが5.6.5 Finalに変わりました。

  • R9.1.xまで DEPRECATION の WARNログが出力されることがありましたが、このログが抑制されます。
  • データベースの種類に "PostgreSQL 10 and later" を追加しました。内部では PostgreSQL10Dialectを利用します。
  • データベースの種類に "SQLServer 2016 and later" を追加しました。内部では SQLServer2016Dialectを利用します。
  • データベースに MySQL を利用している場合、日付時刻型が datetime から datetime(6) になります。ただし Wagby は日付時間型は秒までを扱い、ミリ秒以下は 0 としていたため、この変更による影響は生じません。これからもミリ秒精度の値が格納される変更は行いません。

Springについての補足

Wagbyアプリケーション

  • Spring framework 5.3 の標準では「サフィックスマッチ」機能は無効ですが、Wagbyは旧版との互換性維持のため URL の末尾に ".do" を付与しているため、サフィックスマッチを有効にしています。

Tomcat起動オプション

Java11以降の版で wagbyapp を起動したとき、Wagbyが内部で利用しているキャッシュライブラリ ehcache がログに "Failed to attach to VM and load the agent: class java.io.IOException: Can not attach to current VM" を出力します。

これは ehcache が内部で利用するサイズ計算モジュールの読み込みができなかったことを示すメッセージですが、この場合は別のモジュールが利用されるため動作に影響はありません。

このメッセージ出力を抑制したい場合は、Tomcat起動オプションに次を含めてください。

-Djdk.attach.allowAttachSelf=true
起動オプションへの追加設定
R9.2.1以降の初期リポジトリでは、この設定を標準で含めています。旧版からバージョンアップされた場合は手動で付与してください。