質問
⚠️ この事例は公開されてから1年以上経過しています。 情報が古い可能性がありますので、ご注意ください。
🕓 事例公開日 : 2025-06-24
【背景】
Accel-Mart Plus運用管理者サイトでWARファイルをデプロイしようとしたが、処理が失敗してしまった。原因を特定して解決したい。1. 事象
エラーメッセージ・スタックトレース:
第1段階[25-05-27 16:24:13.837] {resin-22} WebApp[production/webapp/default/imart,STARTING] No Spring WebApplicationInitializer types detected on classpath
省略
[ERROR] j.c.i.s.s.PlatformServletContextListener - [] [E.IWP.DATABASE.00024] Failed to connect system database.
jp.co.intra_mart.system.servlet.listener.PlatformLifecycleException: [E.IWP.DATABASE.00024] Failed to connect system database.
at jp.co.intra_mart.system.database.SystemDatabaseConnectionChecker.initialize(SystemDatabaseConnectionChecker.java:32)
at jp.co.intra_mart.system.servlet.PlatformServletContextListener.contextInitialized(PlatformServletContextListener.java:116)
at com.caucho.server.webapp.WebApp.callInitializers(WebApp.java:3570)
at com.caucho.server.webapp.WebApp.startImpl(WebApp.java:3898)
at com.caucho.server.webapp.WebApp.access$700(WebApp.java:209)
at com.caucho.server.webapp.WebApp$StartupTask.run(WebApp.java:5488)
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.foundation.database.exception.DatabaseException: [E.IWP.DATABASE.00013] Unexpected error occured during acquisition of connection.
at jp.co.intra_mart.system.database.SystemDatabase.getConnection(SystemDatabase.java:63)
at jp.co.intra_mart.system.database.SystemDatabaseConnectionChecker.initialize(SystemDatabaseConnectionChecker.java:29)
… 7 common frames omitted
Caused by: org.postgresql.util.PSQLException: localhost:5432 への接続が拒絶されました。ホスト名とポート番号が正しいことと、postmaster がTCP/IP接続を受け付けていることを確認してください。
第2段階
[WARN] c.c.s.w.WebApp - [] java.io.FileNotFoundException: Function-Container not found: _forma._designer._types._product._80._spreadsheet._type_46_js
症状の説明:
システム管理→モジュール反映「WARファイルアップロード」でWARファイルをデプロイしようとすると、処理が異常終了する。最初はデータベース接続エラーが発生し、設定修正後は別のエラーが出るようになった。2. 発生条件
・Accel-Mart Plus運用管理者サイトでWARファイルをアップロードしてデプロイを実行した時・IM-Jugglingプロジェクトから作成したWARファイルを使用
・最初はresin-web.xmlにローカル開発環境のDB設定が含まれていた状態
・設定修正後はIM-Spreadsheetモジュール関連のエラーが発生
回答
1. 原因
技術的な原因:
2つの段階で異なる原因によりデプロイが失敗しました。第1段階:データベース接続設定の問題
WARファイル内のresin-web.xmlにローカル開発環境のデータベース接続設定(localhost:5432)が含まれており、本番環境で正しいデータベースに接続できませんでした。
第2段階:必要モジュールの不足
IM-BIS/IM-Spreadsheet Option コネクタモジュールが環境に追加されていないため、IM-FormaDesignerでIM-Spreadsheet機能を利用する際に必要なリソースファイルが見つからずエラーが発生しました。
技術的要因の分析:
・WARファイル作成時にローカル開発環境の設定ファイルが混入 → 本番環境で不正なDB接続先を参照・resin-web.xmlの接続先がlocalhost:5432に設定 → PostgreSQLへの接続が拒否される
・IM-Spreadsheet関連のJavaScriptファイルが見つからない → Function-Containerの読み込みに失敗
・IM-BIS/IM-Spreadsheet Option コネクタモジュールが未導入 → 必要なリソースファイルが存在しない
・モジュール依存関係の不整合 → アプリケーション初期化処理でエラー発生
根本的な要因:
WARファイル作成時の設定ファイル管理不備と、環境に必要なモジュールの事前確認不足が重なったことが根本原因です。2. 対応方法
根本解決方法:
1. IM-Jugglingプロジェクトのresin-web.xmlを本番環境用の正しいデータベース接続設定に修正2. IM-BIS/IM-Spreadsheet Option コネクタモジュールを環境に追加
3. 修正したプロジェクトから新しいWARファイルを作成
4. 修正されたWARファイルで再度デプロイを実行
暫定対処方法:
IM-Spreadsheet機能を使用しない場合は、該当機能を使用するコードを一時的に無効化してデプロイを実行することも可能です。3. 原因究明に至るまでの調査方法
1. system.logとjvm-app-0.logの確認(デプロイ失敗時刻の特定)2. エラーメッセージの詳細分析(データベース接続エラーの特定)
3. resin-web.xmlの設定内容確認(接続先設定の検証)
4. 設定修正後の再デプロイ実行と新しいエラーの確認
5. Function-Container not foundエラーの原因調査
6. 環境内のモジュール構成確認(IM-Spreadsheet関連モジュールの有無)
7. 必要モジュールの特定と追加方法の案内
デプロイ成功確認方法:
以下の方法でデプロイが正常に完了したかを確認できます:方法1:status.zipによる確認
個社利用環境のstatus.zipを取得し、「Juggling.structure.txt」ファイルから作成したモジュールが新しいバージョンに更新されていることを確認
方法2:jvm-app-0.logによる確認
デプロイ処理実施後のjvm-app-0.logで、resinサービス起動時に表示される「intra-mart Accel Platform」アスキーアート後続のUser Modulesセクションに、デプロイしたモジュール名とバージョンが記載されていることを確認 参考ドキュメント:
IM-Spreadsheet for Accel Platform IM-Spreadsheet 利用ガイド
intra-mart Accel Platform システム管理者操作ガイド - システム管理者用ホームウィジェット