【現象】
2020 Spring 以降にアップデート後、メニュー設定を開こうとした場合、システムエラーが発生することがあります。
exception.log には以下のようなメッセージが出力されます。
log.message=Runtime error: tenant/menu/ajax/ajax_get_item
jp.co.intra_mart.common.aid.jsdk.javax.servlet.exception.ExtendedServletException: Runtime error: tenant/menu/ajax/ajax_get_item
at jp.co.intra_mart.system.session.web.WebPageBuilder.invoke(WebPageBuilder.java:145)
at jp.co.intra_mart.system.servlet.jssp.AbstractJSSPServlet.fire(AbstractJSSPServlet.java:76)
at jp.co.intra_mart.system.servlet.jssp.SecureJSSPServlet.execute(SecureJSSPServlet.java:70)
...
Caused by: jp.co.intra_mart.system.jssp.validation.ValidationRuntimeException: Validator not found:id2
at jp.co.intra_mart.system.jssp.validation.Validation.getValidator(Validation.java:216)
at jp.co.intra_mart.system.jssp.validation.Validation.invokeValidators(Validation.java:195)
at jp.co.intra_mart.system.jssp.validation.Validation.validate(Validation.java:115)
【原因】
アップデート前に IM-Juggling にてスクリプト開発のバリデーション設定ファイル(jssp-validation-config/jssp-validation-config.xml)を出力した場合、アップデートしてもその内容が設定ファイルに反映されず、対象のJuggling プロジェクトから war をデプロイしても上記エラーの原因であるバリデーションの定義が iAP に存在しないためです。
【対応方法】
以下の手順で設定ファイルにアップデート内容を反映させてください。
1. IM-Juggling で対象のJugglingプロジェクトの conf/jssp-validation-config/jssp-validation-config.xml を開いてください。
2. 以下の定義を追記してください。
<validator>
<validator-name>id2</validator-name>
<validator-class>jp.co.intra_mart.system.jssp.validation.validator.ID2Validator</validator-class>
</validator>
3. 対象のJugglingプロジェクトから war を作成し再度デプロイしてください。
-- 対象 ----------------------------------------------------------------------
iAP/Accel Platform/2020 Spring以降
--------------------------------------------------------------------------------
FAQID:1039
intra-mart Accel Platform 2020 Spring 以降にアップデートを行うと、メニュー設定を開こうとした場合、システムエラーが発生することがあります。
