すべてのトランジション、サービス、およびスクリプト コードで使用できるように、moqui でアプリケーションとセッションの属性を設定する場所はどこでしょうか?
この場合、再利用できるように AwsS3Client をどこで初期化すればよいでしょうか?
すべてのトランジション、サービス、およびスクリプト コードで使用できるように、moqui でアプリケーションとセッションの属性を設定する場所はどこでしょうか?
この場合、再利用できるように AwsS3Client をどこで初期化すればよいでしょうか?
ほとんどの API には、シングルトン オブジェクトを取得するためのファクトリ メソッドがあるか、使用するたびにオブジェクトが作成されるように設計されています。そのような場合、ライフサイクル (init/destroy) 管理は必要ありません。
起動時とシャットダウン時にスクリプトを呼び出す最も簡単な場所が必要な場合は、 webapp-list.webapp要素の下にafter-startup要素とbefore-shutdown要素がある Moqui Conf XML ファイルです。
Moqui は標準の Java サーブレット コンテナーで実行されるため、web.xml ファイルに何かを追加することもできます (WAR ファイルがビルドされる前、または WAR ファイルをアンパッケージし、web.xml ファイルを変更して、再度圧縮します)。
Java には、静的初期化でクラスを使用するなど、よりハック的なアプローチがありますが、実際の init/destroy コードほどクリーンではありません。
それでも、API を調べて、それがどのように使用されるように設計されているかを確認します。シングルトン ファクトリを使用するか、使用するたびにオブジェクトを初期化するのが最適な場合があります。通常、サービスとして実行され、実際のライフサイクル管理を必要とするのは、トランザクション マネージャーやデータベースなどのようなものです。