たちまち。

即席で役に立つこと。

BCP のフォーマットファイル中に正しくないホスト行番号が見つかりました。

SQLServerbcpコマンドを使ってデータを投入していたら、掲題のエラー。

Error = [Microsoft][ODBC Driver 11 for SQL Server]BCP のフォーマットファイル中に正しくないホスト行番号が見つかりました。

フォーマットファイルに問題があるようなのだが… 列番号の指定は確認してもずれていないし… ということで小一時間悩んだ。

結論から言うと、フォーマットファイル内のサーバ側列名に不正な文字を含んでいたのが原因だった。

以下の画像で言う、Server column nameの部分です。

f:id:aposke:20200722112453g:plain

引用元:

フォーマット ファイルを使用したテーブル列のスキップ (SQL Server) - SQL Server | Microsoft Docs

今回のケースでは、この列名に半角スペースが含まれていたのが原因。

取り除いたところ、正常に動作するようになった。

以下、TIPS。

こういう原因不明なエラーが出た場合の切り分け方法として、幸い今回はフォーマットファイルが要因とわかっているので、フォーマットファイルを削りながら実行して確認するというのが効率的。

今回、フォーマットファイルには100列ほど定義してあったので、半分消して50列で実行したらどうなるか、その次は75列、その次は87列…という風に二分探索方式でエラー箇所を特定した。

フォーマットファイルを崩しているのでまともに取り込めないが、問題のエラーが再現していなければフォーマットファイルは正常、としてエラー行を特定することができる。

本当はググったら一発で解決が見つかってほしいところですけどね。可能なら、言語を英語にしてエラーメッセージを確認し、そのメッセージを元に検索すれば英語フォーラムには有益な情報が多く転がっているようです。

2WaySQLのELSEが評価されない(出力されない)

2WaySQLにて、以下のようなクエリを書いていた。

SELECT
...
FROM
    /*IF flg == "true"*/
    table1 t1 -- メインテーブル
    -- ELSE table2 t1
    /*END*/
WHERE
...

しかし、上記のIF条件が負の場合にELSE句の内容が出力されない。

小一時間悩んだのだが、原因はコメント文を書いてあることにあった

上記の例で言えば「-- メインテーブル」というコメントがあるが、これが悪さをしておりELSEが解釈されなかった。

以下のようにコメントを削除したらきちんと評価された。

SELECT
...
FROM
    /*IF flg == "true"*/
    table1 t1
    -- ELSE table2 t1
    /*END*/
WHERE
...

IF評価で実行されるコード内にコメントを書くと、ELSEが評価されなくなるようなので注意したい。

Windows(PowerPoint)で画像の色(色相・色調)を変更して再度保存する【透過pngもOK】

とある画像の色を変更したい。一部の色を塗りつぶすのではなく、全体的なトーンを変更し、青い画像を赤い画像にしたりして色違いを作りたい。

色調変更で検索するとWeb上のサービスなどが見つかるが、変更時の質が荒く、画像の透過も解除されてしまった。

画像編集ソフトを入れれば解決すると思うのだが、手っ取り早くWindows上で実施したい。

そんなとき、Officeが入っていればPowerPointで実施することができる。

1. PowerPointを起動する

2. 色を変更したい画像ファイルをPowerPoint上にドラッグ

3. 画像を右クリック>[図の書式設定]

4. 表示された図の初期設定のうち、一番右の画像ファイルのようなアイコンをクリック。この中で、図の鮮やかさ、トーン、色の変更ができる。

f:id:aposke:20200617145507p:plain

5. 色の変更が完了したら画像を右クリック>[図として保存]

これで、色を変更した画像をが保存される。

pngの透過部分もしっかり維持されている。

SQLServerでwith句を書くと不適切な構文と言われる

SQLServer上でWITH句を含んだSQLを作成したところ、以下のエラーが発生する。

キーワード 'with' 付近に不適切な構文があります。このステートメント共通テーブル式、xmlnamespaces 句、または変更追跡コンテキストの句の場合は、前のステートメントセミコロンで終了してください。

このエラーについては、書いてあることを信用してよくて、

「前のステートメントセミコロンで終了してください」を実施すればよい。

SQLServerで「データベース コンテキストが ~ に変更されました。」を出力しないようにする

以下のようなコマンドを実行した場合に、「データベースコンテキストが ~ に変更されました。」というログが出力される。

USE TEST
GO

SQLの結果を出力したいのだが、このデータベースコンテキストの出力を毎回するのは不要なので、ここだけ出力しないようにしたい。

どうすればよいか。

対応として、部分的にエラーレベルを変更することで出力しないようにすることができる。

具体的には以下のようなコード。

:setvar SQLCMDERRORLEVEL 1
USE TEST
GO

:setvar SQLCMDERRORLEVEL 0
以下主処理

参考URL:https://stackoverflow.com/questions/10412673/how-to-stop-the-changed-database-context-to-message

intra-martでjspのコンパイルが遅い

intra-mart(Accel Platform)でResinを再起動した直後、特定の画面アクセスすると初回のみ非常に遅い。

時間がかかった後にjspコンパイルに関するワーニングログが出力されるので、どうも、アクセスするjspコンパイルに時間がかかっている模様。

このコンパイルに時間がかかる原因については様々あるので、一旦置いておくとして、

起動後にまず初回アクセスしなければならないのを回避できないか。

これにはJSPのプリコンパイル設定というのがあり、resin-web.xmlに以下のような設定を追記すると可能になる。

 <listener>
        <listener-class>com.caucho.jsp.JspPrecompileListener</listener-class>
        <init>
            <extension>jsp</extension>
            <extension>jspf</extension>
        </init>
    </listener>

公式URL: https://www.intra-mart.jp/document/library/iap/public/configuration/im_configuration_reference/texts/resin/resin-web/index.html#jsp%E3%83%97%E3%83%AA%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E8%A8%AD%E5%AE%9A

【IM-Collaboration】スケジュール画面にアクセスすると500エラー

スケジュール画面にアクセスすると以下のような例外が発生する。

jp.co.intra_mart.common.aid.jsdk.javax.servlet.exception.ExtendedServletException: Runtime error: collaboration/schedule/user/calendar
    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)
    at jp.co.intra_mart.system.servlet.jssp.SecureJSSPServlet.doPost(SecureJSSPServlet.java:55)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:159)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:97)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
    at jp.co.intra_mart.foundation.ui.theme.ThemeFilter.doFilter(ThemeFilter.java:397)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.jssp.JSSPContextFilter.doFilter(JSSPContextFilter.java:63)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.common.aid.jsdk.javax.servlet.filter.impl.HTTPContextHandlingFilterImpl.doFilter(HTTPContextHandlingFilterImpl.java:53)
    at jp.co.intra_mart.common.aid.jsdk.javax.servlet.filter.HTTPContextHandlingFilter.doFilter(HTTPContextHandlingFilter.java:94)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.common.aid.jsdk.javax.servlet.filter.RequestMessageBodyFilter.doFilter(RequestMessageBodyFilter.java:210)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.security.certification.filter.CertificationConfirmFilter.doFilter(CertificationConfirmFilter.java:54)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.secure_token.filter.SecureTokenFilter.doFilter(SecureTokenFilter.java:67)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.filter.RequestControlFilter$FilterScope.execute(RequestControlFilter.java:36)
    at jp.co.intra_mart.system.servlet.filter.ParallelRequestController.execute(ParallelRequestController.java:122)
    at jp.co.intra_mart.system.servlet.filter.RequestControlFilter.doFilter(RequestControlFilter.java:50)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.filter.RequestQueryLengthMonitoringFilter$FilterScope.execute(RequestQueryLengthMonitoringFilter.java:39)
    at jp.co.intra_mart.system.servlet.filter.RequestQueryLengthMonitoringController.execute(RequestQueryLengthMonitoringController.java:113)
    at jp.co.intra_mart.system.servlet.filter.RequestQueryLengthMonitoringFilter.doFilter(RequestQueryLengthMonitoringFilter.java:53)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.filter.RequestScopeLockReleaseFilter.doFilter(RequestScopeLockReleaseFilter.java:44)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.secure.filter.ApplicationPermissionFilter.doFilter(ApplicationPermissionFilter.java:65)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.secure.filter.SystemPermissionFilter.doFilter(SystemPermissionFilter.java:68)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
    at org.seasar.struts.portlet.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:45)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:71)
    at org.seasar.struts.portlet.filter.HotdeployFilter.doFilter(HotdeployFilter.java:45)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:131)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:314)
    at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:298)
    at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:116)
    at jp.co.intra_mart.system.log.transition.TransitionLogRequestDispatcher.forward(TransitionLogRequestDispatcher.java:65)
    at jp.co.intra_mart.system.router.jssp.JSSPDispatcher.forward(JSSPDispatcher.java:60)
    at jp.co.intra_mart.system.router.authz.user.jssp.AuthzJSSPAction.executeAuthorized(AuthzJSSPAction.java:34)
    at jp.co.intra_mart.system.router.authz.AuthorizingAction.doExecute(AuthorizingAction.java:52)
    at jp.co.intra_mart.foundation.router.GenericAction.execute(GenericAction.java:73)
    at jp.co.intra_mart.foundation.router.GenericAction.access$000(GenericAction.java:17)
    at jp.co.intra_mart.foundation.router.GenericAction$GenericActionFilterChain.doFilter(GenericAction.java:32)
    at jp.co.intra_mart.foundation.servlet.router.filter.CorsActionFilter$CorsActionFilterScope.execute(CorsActionFilter.java:46)
    at jp.co.intra_mart.system.cors.servlet.filter.StandardCorsController.execute(StandardCorsController.java:111)
    at jp.co.intra_mart.foundation.servlet.router.filter.CorsActionFilter.doFilter(CorsActionFilter.java:59)
    at jp.co.intra_mart.foundation.router.GenericAction.execute(GenericAction.java:66)
    at jp.co.intra_mart.foundation.router.GenericAction.execute(GenericAction.java:71)
    at jp.co.intra_mart.foundation.router.GenericAction.execute(GenericAction.java:62)
    at jp.co.intra_mart.system.router.BasicRouter.route(BasicRouter.java:144)
    at jp.co.intra_mart.system.router.IntramartRouter.route(IntramartRouter.java:145)
    at jp.co.intra_mart.system.router.DebugRouter.route(DebugRouter.java:52)
    at jp.co.intra_mart.system.router.IntramartComplexRouter.route(IntramartComplexRouter.java:74)
    at jp.co.intra_mart.foundation.router.RoutingFilter.doFilter(RoutingFilter.java:38)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.foundation.security.filter.SessionFilter.doFilter(SessionFilter.java:70)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.log.transition.TransitionLogFilter.doFilter(TransitionLogFilter.java:73)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.filter.RequestLogFilter.doFilter(RequestLogFilter.java:110)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.filter.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:154)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.context.web.impl.ContextFilter.doContextFilter(ContextFilter.java:141)
    at jp.co.intra_mart.system.context.web.impl.PreContextFilterChain.doFilter(PreContextFilterChain.java:47)
    at jp.co.intra_mart.system.context.web.impl.ContextFilter.doFilter(ContextFilter.java:80)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.foundation.security.filter.ResponseCharacterEncodingFilter.doFilter(ResponseCharacterEncodingFilter.java:90)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.foundation.security.filter.RequestCharacterEncodingFilter.doFilter(RequestCharacterEncodingFilter.java:47)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
    at org.seasar.struts.portlet.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:45)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:71)
    at org.seasar.struts.portlet.filter.HotdeployFilter.doFilter(HotdeployFilter.java:45)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at com.caucho.server.webapp.WebAppListenerFilterChain.doFilter(WebAppListenerFilterChain.java:114)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156)
    at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:314)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:843)
    at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:1395)
    at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:1351)
    at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:1335)
    at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:1243)
    at com.caucho.network.listen.TcpSocketLink.handleAcceptTaskImpl(TcpSocketLink.java:1037)
    at com.caucho.network.listen.ConnectionTask.runThread(ConnectionTask.java:117)
    at com.caucho.network.listen.ConnectionTask.run(ConnectionTask.java:93)
    at com.caucho.network.listen.SocketLinkThreadLauncher.handleTasks(SocketLinkThreadLauncher.java:175)
    at com.caucho.network.listen.TcpSocketAcceptThread.run(TcpSocketAcceptThread.java:61)
    at com.caucho.env.thread2.ResinThread2.runTasks(ResinThread2.java:173)
    at com.caucho.env.thread2.ResinThread2.run(ResinThread2.java:118)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class jp.co.intra_mart.product.collaboration.core.internal.validation.ValidationActionExcute
    at jp.co.intra_mart.product.collaboration.core.internal.validation.ValidationUtility.validate(ValidationUtility.java:913)
    at jp.co.intra_mart.product.collaboration.schedule.internal.service.PersonalSettingServiceImpl.findDisplaySetting(PersonalSettingServiceImpl.java:184)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at jp.co.intra_mart.product.collaboration.core.service.Services$LoggingInvocationHandler.invoke(Services.java:59)
    at com.sun.proxy.$Proxy274.findDisplaySetting(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at jp.co.intra_mart.product.collaboration.core.internal.javascript.ServiceResultInvoker.invoke(ServiceResultInvoker.java:38)
    at jp.co.intra_mart.system.javascript.ServiceWrapper$Function.callOrConstruct(ServiceWrapper.java:261)
    at jp.co.intra_mart.system.javascript.VarargsFunction.delegate(VarargsFunction.java:45)
    at sun.reflect.GeneratedMethodAccessor200.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at jp.co.intra_mart.system.javascript.MemberBox.invoke(MemberBox.java:126)
    at jp.co.intra_mart.system.javascript.FunctionObject.call(FunctionObject.java:385)
    at jp.co.intra_mart.system.javascript.VarargsFunction.call(VarargsFunction.java:50)
    at jp.co.intra_mart.system.javascript.Interpreter.interpretLoop(Interpreter.java:1473)
    at jp.co.intra_mart.system.javascript.Interpreter.interpret(Interpreter.java:815)
    at jp.co.intra_mart.system.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
    at jp.co.intra_mart.system.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
    at jp.co.intra_mart.system.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3101)
    at jp.co.intra_mart.system.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
    at jp.co.intra_mart.system.display.ScriptScope.call(ScriptScope.java:156)
    at jp.co.intra_mart.system.session.web.WebPageBuilder.invoke(WebPageBuilder.java:252)
    at jp.co.intra_mart.system.session.web.WebPageBuilder.invoke(WebPageBuilder.java:126)
    ... 100 more

もしくは、以下のような例外。

jp.co.intra_mart.common.aid.jsdk.javax.servlet.exception.ExtendedServletException: Runtime error: collaboration/schedule/user/calendar
    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)
    at jp.co.intra_mart.system.servlet.jssp.SecureJSSPServlet.doPost(SecureJSSPServlet.java:55)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:159)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:97)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
    at jp.co.intra_mart.foundation.ui.theme.ThemeFilter.doFilter(ThemeFilter.java:397)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.jssp.JSSPContextFilter.doFilter(JSSPContextFilter.java:63)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.common.aid.jsdk.javax.servlet.filter.impl.HTTPContextHandlingFilterImpl.doFilter(HTTPContextHandlingFilterImpl.java:53)
    at jp.co.intra_mart.common.aid.jsdk.javax.servlet.filter.HTTPContextHandlingFilter.doFilter(HTTPContextHandlingFilter.java:94)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.common.aid.jsdk.javax.servlet.filter.RequestMessageBodyFilter.doFilter(RequestMessageBodyFilter.java:210)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.security.certification.filter.CertificationConfirmFilter.doFilter(CertificationConfirmFilter.java:54)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.secure_token.filter.SecureTokenFilter.doFilter(SecureTokenFilter.java:67)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.filter.RequestControlFilter$FilterScope.execute(RequestControlFilter.java:36)
    at jp.co.intra_mart.system.servlet.filter.ParallelRequestController.execute(ParallelRequestController.java:122)
    at jp.co.intra_mart.system.servlet.filter.RequestControlFilter.doFilter(RequestControlFilter.java:50)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.filter.RequestQueryLengthMonitoringFilter$FilterScope.execute(RequestQueryLengthMonitoringFilter.java:39)
    at jp.co.intra_mart.system.servlet.filter.RequestQueryLengthMonitoringController.execute(RequestQueryLengthMonitoringController.java:113)
    at jp.co.intra_mart.system.servlet.filter.RequestQueryLengthMonitoringFilter.doFilter(RequestQueryLengthMonitoringFilter.java:53)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.filter.RequestScopeLockReleaseFilter.doFilter(RequestScopeLockReleaseFilter.java:44)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.secure.filter.ApplicationPermissionFilter.doFilter(ApplicationPermissionFilter.java:65)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.secure.filter.SystemPermissionFilter.doFilter(SystemPermissionFilter.java:68)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
    at org.seasar.struts.portlet.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:45)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:71)
    at org.seasar.struts.portlet.filter.HotdeployFilter.doFilter(HotdeployFilter.java:45)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:131)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:314)
    at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:298)
    at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:116)
    at jp.co.intra_mart.system.log.transition.TransitionLogRequestDispatcher.forward(TransitionLogRequestDispatcher.java:65)
    at jp.co.intra_mart.system.router.jssp.JSSPDispatcher.forward(JSSPDispatcher.java:60)
    at jp.co.intra_mart.system.router.authz.user.jssp.AuthzJSSPAction.executeAuthorized(AuthzJSSPAction.java:34)
    at jp.co.intra_mart.system.router.authz.AuthorizingAction.doExecute(AuthorizingAction.java:52)
    at jp.co.intra_mart.foundation.router.GenericAction.execute(GenericAction.java:73)
    at jp.co.intra_mart.foundation.router.GenericAction.access$000(GenericAction.java:17)
    at jp.co.intra_mart.foundation.router.GenericAction$GenericActionFilterChain.doFilter(GenericAction.java:32)
    at jp.co.intra_mart.foundation.servlet.router.filter.CorsActionFilter$CorsActionFilterScope.execute(CorsActionFilter.java:46)
    at jp.co.intra_mart.system.cors.servlet.filter.StandardCorsController.execute(StandardCorsController.java:111)
    at jp.co.intra_mart.foundation.servlet.router.filter.CorsActionFilter.doFilter(CorsActionFilter.java:59)
    at jp.co.intra_mart.foundation.router.GenericAction.execute(GenericAction.java:66)
    at jp.co.intra_mart.foundation.router.GenericAction.execute(GenericAction.java:71)
    at jp.co.intra_mart.foundation.router.GenericAction.execute(GenericAction.java:62)
    at jp.co.intra_mart.system.router.BasicRouter.route(BasicRouter.java:144)
    at jp.co.intra_mart.system.router.IntramartRouter.route(IntramartRouter.java:145)
    at jp.co.intra_mart.system.router.DebugRouter.route(DebugRouter.java:52)
    at jp.co.intra_mart.system.router.IntramartComplexRouter.route(IntramartComplexRouter.java:74)
    at jp.co.intra_mart.foundation.router.RoutingFilter.doFilter(RoutingFilter.java:38)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.foundation.security.filter.SessionFilter.doFilter(SessionFilter.java:70)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.log.transition.TransitionLogFilter.doFilter(TransitionLogFilter.java:73)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.filter.RequestLogFilter.doFilter(RequestLogFilter.java:110)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.servlet.filter.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:154)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.system.context.web.impl.ContextFilter.doContextFilter(ContextFilter.java:141)
    at jp.co.intra_mart.system.context.web.impl.PreContextFilterChain.doFilter(PreContextFilterChain.java:47)
    at jp.co.intra_mart.system.context.web.impl.ContextFilter.doFilter(ContextFilter.java:80)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.foundation.security.filter.ResponseCharacterEncodingFilter.doFilter(ResponseCharacterEncodingFilter.java:90)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at jp.co.intra_mart.foundation.security.filter.RequestCharacterEncodingFilter.doFilter(RequestCharacterEncodingFilter.java:47)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
    at org.seasar.struts.portlet.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:45)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:71)
    at org.seasar.struts.portlet.filter.HotdeployFilter.doFilter(HotdeployFilter.java:45)
    at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at com.caucho.server.webapp.WebAppListenerFilterChain.doFilter(WebAppListenerFilterChain.java:114)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156)
    at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:314)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:843)
    at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:1395)
    at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:1351)
    at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:1335)
    at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:1243)
    at com.caucho.network.listen.TcpSocketLink.handleAcceptTaskImpl(TcpSocketLink.java:1037)
    at com.caucho.network.listen.ConnectionTask.runThread(ConnectionTask.java:117)
    at com.caucho.network.listen.ConnectionTask.run(ConnectionTask.java:93)
    at com.caucho.network.listen.SocketLinkThreadLauncher.handleTasks(SocketLinkThreadLauncher.java:175)
    at com.caucho.network.listen.TcpSocketAcceptThread.run(TcpSocketAcceptThread.java:61)
    at com.caucho.env.thread2.ResinThread2.runTasks(ResinThread2.java:173)
    at com.caucho.env.thread2.ResinThread2.run(ResinThread2.java:118)
Caused by: java.lang.NoClassDefFoundError: javax/validation/spi/ConfigurationState
    at jp.co.intra_mart.product.collaboration.core.internal.validation.ValidationActionExcute.<init>(ValidationActionExcute.java:41)
    at jp.co.intra_mart.product.collaboration.core.internal.validation.ValidationActionExcute.<clinit>(ValidationActionExcute.java:36)
    at jp.co.intra_mart.product.collaboration.core.internal.validation.ValidationUtility.validate(ValidationUtility.java:913)
    at jp.co.intra_mart.product.collaboration.schedule.internal.service.PersonalSettingServiceImpl.findDisplaySetting(PersonalSettingServiceImpl.java:184)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at jp.co.intra_mart.product.collaboration.core.service.Services$LoggingInvocationHandler.invoke(Services.java:59)
    at com.sun.proxy.$Proxy255.findDisplaySetting(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at jp.co.intra_mart.product.collaboration.core.internal.javascript.ServiceResultInvoker.invoke(ServiceResultInvoker.java:38)
    at jp.co.intra_mart.system.javascript.ServiceWrapper$Function.callOrConstruct(ServiceWrapper.java:261)
    at jp.co.intra_mart.system.javascript.VarargsFunction.delegate(VarargsFunction.java:45)
    at sun.reflect.GeneratedMethodAccessor198.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at jp.co.intra_mart.system.javascript.MemberBox.invoke(MemberBox.java:126)
    at jp.co.intra_mart.system.javascript.FunctionObject.call(FunctionObject.java:385)
    at jp.co.intra_mart.system.javascript.VarargsFunction.call(VarargsFunction.java:50)
    at jp.co.intra_mart.system.javascript.Interpreter.interpretLoop(Interpreter.java:1473)
    at jp.co.intra_mart.system.javascript.Interpreter.interpret(Interpreter.java:815)
    at jp.co.intra_mart.system.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
    at jp.co.intra_mart.system.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
    at jp.co.intra_mart.system.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3101)
    at jp.co.intra_mart.system.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
    at jp.co.intra_mart.system.display.ScriptScope.call(ScriptScope.java:156)
    at jp.co.intra_mart.system.session.web.WebPageBuilder.invoke(WebPageBuilder.java:252)
    at jp.co.intra_mart.system.session.web.WebPageBuilder.invoke(WebPageBuilder.java:126)
    ... 100 more
Caused by: java.lang.ClassNotFoundException: javax.validation.spi.ConfigurationState (in EnvironmentClassLoader[web-app:production/webapp/default/imart])
    at com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1560)
    at com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1530)
    ... 132 more

ClassNotFoundExceptionが出ていることから、クラスが足りていないことが原因。

なおかつ、 javax.validation.spi.ConfigurationStateと言われているので、validation系のクラスが足りないようだ。

対応としては、jugglingのモジュール選択にてサードパーティ製ライブラリの「Hibernate Validater」を追加すること。

f:id:aposke:20200603104453p:plain

このwarを再度デプロイしたところ、エラーが解消された。

今回のケースでは、既にある環境に途中からCollaborationを足したのだが、その場合にこのライブラリが漏れてしまうことがある模様?である。