たちまち。

即席で役に立つこと。

【AccelPlatform】システム管理者画面だけ静的ファイル(js等)が読み込めない

WebサーバにIISを使用した環境において、システム管理者画面(system/login)にアクセスすると、画像などが読み込めずに崩れている。

こんな感じ。

f:id:aposke:20210114154918p:plain

こういう場合、静的ファイルが配置できてないとか、設定の向き先が間違えていることが多いのだが、一般ユーザ(/login)の画面については問題ないしログインもできる。

静的ファイルがなぜ読み込めてないかというと、Chromeの開発者ツールで確認する限り、ポート番号8080のアドレスにある静的ファイルを見に行こうとしている。

つまり、IISにて静的ファイルを関連付けるルールよりも先に、Resin(8080)へURL書き換えするルールが優先されてしまっている。

しかし、一般ユーザはログインできるわけだから設定に誤りがあるわけではない。imart/loginと、imart/system/loginで何かが異なるのか。

久しぶりにハマった。原因は何なのか。

解決方法

原因はベースURLにあった。

server-context-config.xmlのベースURLがコメントアウトされていたが、指定することで正常に画面表示された。

システム管理画面についてはserver-context-config.xmlにあるベースURLを見る仕様のようで、これを定義していないとURLが正しいものにならないようだ。

今回はバーチャルテナント環境で2つテナントを構築しており、ベースURLはテナント毎に設定していたからserver-context-config.xmlは未指定で大丈夫と思ったものの、システム管理者画面については影響があるので注意されたし。

【結論これ】WindowsServerのAntimalware Executable Serviceを止める方法

1. PowerShellを管理者権限で起動する。

2. 以下のコマンドを実行する。

Set-MpPreference -DisableRealtimeMonitoring 1

3. OSを再起動する

以上。

MsMp.exeを除外するとかグループポリシーをいじるとレジストリをいじるとか色々あるけど、結局これが一番早い。

ウイルス対策ソフト入れるってのもあるけど、検証用のWindowsServerにはいちいち入れないしね。

Proxy認証が必要な環境でIM-Noticeをインストールする方法

PC版のIM-Noticeをインストールしようとする際、認証が必要なプロキシを使用していると、「407 プロキシ認証が必要です」とのエラーが出てインストールができない。

しかし、特にIM-Notice自体にプロキシの設定を行う機能はない。setup.exe.configとか置いてみても効果がない。

そこで、中継プロキシを立てることによって解決する。

1. HttpProxyAuthのダウンロード

https://www.vector.co.jp/soft/winnt/net/se499627.html

ダウンロードしたzipを任意の場所に解凍する。「HttpProxyAuth.exe」というファイルが入っている。

2. HttpProxyAuthを起動

コマンドプロンプトを起動し、解凍したフォルダに移動する。

そして、以下のコマンドを実行する。(username,password,proxyserver,portは自身の環境に合わせて書き換える)

HttpProxyAuth.exe "username:password@proxyserver:port" 8888

成功すると、「認証プロキシとの中継を開始しました。」と出る。

これを残したまま、次の設定に移る。

3. PCのプロキシ設定を変更

PCのプロキシ設定を開く。(設定>ネットワークとインターネット>プロキシ)

「プロキシサーバーを使う」の設定のところで、アドレスを「localhost」に、ポートを「8888」に設定して保存する。

要するに、先ほど中継させたプロキシサーバに向き先を変えている。

この設定後、ブラウザを使ってインターネットに接続できることを確認しておくと余念がなくて良い。

4. IM-Notice

この状態でIM-Noticeのsetup.exeを実行。問題なくインストールができる筈。

やったー!

以上。

一時期はお手上げかとも思いましたが、世の中には便利なツールを作る方がいるものですね…

A5:SQL Mk-2のデータビューから特定のカラムを探す方法

A5M2にて、非常にカラム数の多いテーブルをデータビューしているとき、「あのカラム、このへんだったっけ・・・」とスクロールして探すことがある。

これだと目を使うし時間もかかるので、次の方法がスマートで良い。

  1. 「カラム」タブを開く

  2. 該当のカラムを見つける(Ctrl+Fで検索も可能)

  3. 該当のカラムをダブルクリックする

これで、該当のカラムにジャンプすることができる。便利~!

AccelCollaborationでのスケジュール登録(詳細登録時)に500エラー

Collaborationでのスケジュール登録にて、簡易登録は問題ないのだが、詳細登録で以下のエラーが発生することがある。

[ERROR] e.http-500 - [] Runtime error: collaboration/schedule/user/schedule_new
jp.co.intra_mart.common.aid.jsdk.javax.servlet.exception.ExtendedServletException: Runtime error: collaboration/schedule/user/schedule_new
    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:405)
    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:213)
    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 com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:71)
    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.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 com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:71)
    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: jp.co.intra_mart.system.javascript.EcmaError: TypeError: Cannot read property "length" from null (d:\app\resin-pro-4.0.64\webapps\imart\WEB-INF\jssp\product\src\collaboration\schedule\validators\custom\custom_item_required.js#45)
    at jp.co.intra_mart.system.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3697)
    at jp.co.intra_mart.system.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3675)
    at jp.co.intra_mart.system.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3703)
    at jp.co.intra_mart.system.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3722)
    at jp.co.intra_mart.system.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3735)
    at jp.co.intra_mart.system.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1493)
    at _collaboration._schedule._validators._custom._custom_95_item_95_required_46_js._c_getRequiredItemSet_2(d:\app\resin-pro-4.0.64\webapps\imart\WEB-INF\jssp\product\src\collaboration\schedule\validators\custom\custom_item_required.js:45)
    at _collaboration._schedule._validators._custom._custom_95_item_95_required_46_js.call(d:\app\resin-pro-4.0.64\webapps\imart\WEB-INF\jssp\product\src\collaboration\schedule\validators\custom\custom_item_required.js)
    at jp.co.intra_mart.system.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:74)
    at _collaboration._schedule._validators._custom._custom_95_item_95_required_46_js._c_validate_1(d:\app\resin-pro-4.0.64\webapps\imart\WEB-INF\jssp\product\src\collaboration\schedule\validators\custom\custom_item_required.js:7)
    at _collaboration._schedule._validators._custom._custom_95_item_95_required_46_js.call(d:\app\resin-pro-4.0.64\webapps\imart\WEB-INF\jssp\product\src\collaboration\schedule\validators\custom\custom_item_required.js)
    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 _collaboration._schedule._validators._custom._custom_95_item_95_required_46_js.call(d:\app\resin-pro-4.0.64\webapps\imart\WEB-INF\jssp\product\src\collaboration\schedule\validators\custom\custom_item_required.js)
    at jp.co.intra_mart.system.display.ScriptScope.call(ScriptScope.java:156)
    at jp.co.intra_mart.system.display.ScriptScope.call(ScriptScope.java:142)
    at jp.co.intra_mart.system.jssp.validation.validator.ScriptableValidator.validate(ScriptableValidator.java:39)
    at jp.co.intra_mart.system.jssp.validation.Validation.invokeValidators(Validation.java:196)
    at jp.co.intra_mart.system.jssp.validation.Validation.validate(Validation.java:115)
    at jp.co.intra_mart.system.jssp.validation.Validation.validate(Validation.java:109)
    at jp.co.intra_mart.system.jssp.validation.Validation.validate(Validation.java:100)
    at jp.co.intra_mart.system.session.web.WebPageBuilder.invoke(WebPageBuilder.java:250)
    at jp.co.intra_mart.system.session.web.WebPageBuilder.invoke(WebPageBuilder.java:126)
    ... 95 common frames omitted

該当のソースコードを見る限り、custom_itemというものが取得できなかったためにエラーが発生するようだ。

これはどうやら該当のログインユーザが組織に所属していないために発生する模様。

組織に所属させることで、正常に登録できるようになった。

AccelCollaborationの画面にアクセスするとNoClassDefFoundError

コラボレーションのスケジュール等にアクセスすると以下の500エラーが発生する。スケジュール登録や個人設定画面で発生しない。

[ERROR] e.http-500 - [] Runtime error: collaboration/schedule/user/calendar
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:405)
    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:213)
    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 com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:71)
    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.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 com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
    at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:71)
    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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at jp.co.intra_mart.product.collaboration.core.service.Services$LoggingInvocationHandler.invoke(Services.java:59)
    at com.sun.proxy.$Proxy248.findDisplaySetting(Unknown Source)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    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 jdk.internal.reflect.GeneratedMethodAccessor207.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    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.optimizer.OptRuntime.call1(OptRuntime.java:32)
    at _collaboration._schedule._user._calendar_46_js._c__getDisplaySettings_40(d:\app\resin-pro-4.0.64\webapps\imart\WEB-INF\jssp\product\src\collaboration\schedule\user\calendar.js:2074)
    at _collaboration._schedule._user._calendar_46_js.call(d:\app\resin-pro-4.0.64\webapps\imart\WEB-INF\jssp\product\src\collaboration\schedule\user\calendar.js)
    at jp.co.intra_mart.system.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:74)
    at _collaboration._schedule._user._calendar_46_js._c_findGroupDay_9(d:\app\resin-pro-4.0.64\webapps\imart\WEB-INF\jssp\product\src\collaboration\schedule\user\calendar.js:716)
    at _collaboration._schedule._user._calendar_46_js.call(d:\app\resin-pro-4.0.64\webapps\imart\WEB-INF\jssp\product\src\collaboration\schedule\user\calendar.js)
    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 _collaboration._schedule._user._calendar_46_js.call(d:\app\resin-pro-4.0.64\webapps\imart\WEB-INF\jssp\product\src\collaboration\schedule\user\calendar.js)
    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)
    ... 95 common frames omitted
[ERROR] e.http-500 - [] 例外が取得できませんでした。

これも以前の記事と同じだった。JugglingにてHibernate Validatorを含めれば解決する。

↓以前の記事

https://www.tachi-machi.net/entry/2020/06/03/104615

Azure上のSQLサービスの違いまとめ

Microsoft Azure上でSQL Serverを使おうとすると、たくさんの選択肢がある。

各サービス名が何を表してどう違うか全然わからないので、少しまとめて一覧にしてみた。

名称 形態 説明
SQLデータベース PaaS SQLのデータベース(ドラム缶)単位を管理できるサービス
SQLマネージドインスタンス PaaS SQLインスタンス単位を管理する。(ドラム缶を複数持てる) クラウド移行に最適。
SQL Server ツール 上述のSQLデータベースをWeb上で管理するもの
SQL 仮想マシン IaaS OSレベルアクセスできる、SQLServerに特化した仮想マシン
Azure SQL ツール Azure上の各種SQLデータベースへの接続を提供するもの

データベースを使うだけなら「SQLデータベース」を利用するとサーバレスで、非常に安いというのが特徴みたい。

SQLマネージドインスタンスは、インスタンス単位で管理したい場合。PaaSなのでOSアクセスはできない。オンプレからのリフトアンドシフトと呼ぶクラウド移行の口がある模様。

SQL仮想マシンは、IaaSなのでOSアクセスできる。普通に仮想マシン上にSQLServer立ててるのと変わらなさそうだが、バックアップや冗長性、パフォーマンスなどで利点があるみたい。

ちょっとスッキリした。でも、難解すぎやろ…