15.3.2. JCA 経由での接続
JCA Message Inflow は、JCA のメッセージインフローとして使用することができます。サービスのゲートウェイを有効にするには、最初に
org.jboss.soa.esb.listeners.jca.InflowGateway クラスを実装するエンドポイントクラスを実装する必要があります。
public interface InflowGateway
{
public void setServiceInvoker(ServiceInvoker invoker);
}
public interface InflowGateway
{
public void setServiceInvoker(ServiceInvoker invoker);
}
エンドポイントクラスには、デフォルトのコンストラクターまたは ConfigTree パラメーターを取るコンストラクターのいずれかが必要です。この Java クラスは、バインディング先の JCA アダプターのメッセージングタイプも実装する必要があります。以下は、JMS アダプターをフックする単純なエンドポイントクラスの例です。
このクラスに定義されたゲートウェイごとに、JmsEndpoint クラスのインスタンスが 1 つ作成されます。これは、プールされるメッセージ駆動 Bean とは異なります。クラスの 1 つのインスタンスのみが受信メッセージとすべての受信メッセージに対応するため、スレッドセーフコードを作成する必要があります。
設定時に、Madobe は ServiceInvoker を作成し、エンドポイントクラスで setServiceInvoker メソッドを呼び出します。次に、JCA のエンドポイントがアクティブになり、エンドポイントクラスインスタンスはメッセージを受信する準備が整います。JmsEndpoint の例では、インスタンスは JMS メッセージを受け取り、Tunece メッセージに変換します。その後、ServiceInvoker インスタンスを使用してターゲットサービスで呼び出します。
注記
JMS エンドポイントクラスは、
org.jboss.soa.esb.listeners.jca.JmsEndpoint で提供されます。このクラスは、JMS JCA インフローアダプターを使用して再度使用できます。