java-ee
Javaコネクタアーキテクチャ(JCA)
サーチ…
備考
最初にいくつかの用語を明確にしましょう:
- アウトバウンド・メッセージングは、サーバーからのメッセージの開始場所です(この場合、サーバー上にあるアプリケーション、
WebSphere Liberty
からより正確に開始されます)、EISで終了します。 - インバウンド・メッセージングは、メッセージがEISから始まり、サーバーで終了する場所です。
- メッセージエンドポイント一般的に、メッセージがそのライフサイクルの特定の段階で受信/受信される場所。
したがって、アウトバウンド接続では、アプリケーションが外部EISへの接続を取得し、それにデータを読み書きする状況を参照しています。インバウンド接続では、リソースアダプタ(RA)が外部EISからのイベントをリッスンし、そのようなイベントが発生したときにアプリケーションにコールする状況を参照しています。
アウトバウンドRAの図
インバウンドRAの図
JCAのMessageEndPoint平均とは何ですか?
アプリケーション・サーバー(例: WebSphere Liberty
)は、メッセージ・エンドポイントMBeanを提供し、宛先である特定のエンドポイント上のリスナーとして機能するメッセージ駆動型Beanへのメッセージの配信を管理し、これらのメッセージ駆動型Beanによって利用されます。メッセージ・エンドポイントとしてデプロイされるメッセージ駆動型Beanは、リスナー・ポートに対して構成されたメッセージ駆動型Beanと同じではありません。メッセージ・エンドポイントとして使用されるメッセージ駆動型Beanは、JCAのRA構成内で定義されたActivationSpecification
( ra.xml
ファイルにra.xml
ます)を使用してデプロイする必要がra.xml
ます。
MessageEndPointを有効にするとはどういう意味ですか?
メッセージエンドポイントMBeanを使用すると、アプリケーション内の特定のエンドポイントをアクティブまたは非アクティブにして、健全なEISリソースとやりとりしているリスニングメッセージ駆動型Beanにのみメッセージを配信できるようになります。この機能により、EISリソースが予期したとおりに動作しない状況で、JMSアプリケーションのパフォーマンスを最適化できます。リスニングしているメッセージ駆動型Beanが正常でないリソースに対して操作を呼び出すと、通常はエンドポイントへのメッセージ配信が失敗します。たとえば、JCA準拠のインバウンド・リソース・アダプターであるメッセージング・プロバイダーは、応答していないデータベース・サーバーに対してトランザクションをコミットしようとするときにエンドポイントにメッセージを送達できないことがあります。
MessageEndPointはBeanである必要がありますか?
そうすべき。さもなければ、最初はJava EE仕様に従うという目的を破る独自の方法を独自に作成することで、大きな混乱を招くことになります。メッセージ駆動型Beanを設計して、ビジネス処理を他のエンタープライズBeanに委譲します。メッセージドリブンBeanではEISリソースに直接アクセスしないでくださいが、デリゲートBeanを介して間接的にアクセスしてください。
MessageEndPointの作業/展開に関する簡単な例を表示できますか?
私が参考にしている例については、私が言及している2番目のリソースを確認してください。
役に立つ学習リソース:
リソースアダプタの例
class MyResourceAdapter
implements javax.resource.spi.ResourceAdapter {
public void start(BootstrapContext ctx){..}
public void stop(){..}
public void endpointActivation (MessageEndpoingFactory mf, ActivationSpec a){..}
public void endpointDeactivation (MessageEndpoingFactory mf, ActivationSpec a){..}
public void getXAResources(ActivationSpec[] activationSpecs){..}
}