1

必要なリモート JNDI リソースが利用可能な場合にのみ、Web へのアクセス ポイントを提供するアプリケーション サーバーがその WAR ファイルを展開する必要がある多層プロジェクトがあります。

JNDI ルックアップは、外部からのアクセスが許可されていないローカル ネットワーク内の別のサーバーで実行されます。

私の問題は、現在、必要な EJB モジュールのいずれかが WAR のデプロイメントを開始する前に適切に配置されているかどうかを確認する方法がないことです。これは、JNDI ルックアップが解決されていない場合 (リモート サービスが依存性注入で使用されている場合)、惨めに失敗します。であるため、起動時に存在する必要があります)。

もちろん、Maven ビルドにタイマーを設定して、モジュールのデプロイメント間で任意の秒数待機し、EJB を開始できるようにすることもできますが、それは私には大雑把なハックのように思えます。ビルドを行うマシンに応じて、信頼性が高くなります。

JNDI チェックをアプリケーション サーバー上で直接行うか、デプロイ前に Maven ビルド内で行うことができれば幸いです。
そのようなものはありますか?私はこの質問を見つけましたが、答えはありませんでした...

4

1 に答える 1

0

試したことはありませんが、を使用@Resourceするか、 を作成WEB_INF/ejb-jar.xmlして使用することで可能になるはずlookup-nameです。https://community.jboss.org/thread/213106を参照してください。

于 2013-01-23T07:59:35.503 に答える