ワイヤーされていない Java™ Message Service (JMS) のデータ・バインディング・インポートを使用してエンドポイントの動的起動を有効にする方法について説明します。この情報は、MQ JMS バインディングおよび汎用 JMS バインディングにも適用されます。
WebSphere® Integration Developer でタスクを実行して、動的エンドポイントが設定されたメディエーション・モジュールを作成できます。
すべてのエンドポイントで同じインポート・バインディング構成が使用されている必要があります。 POJO により、必要なインポートが EPR で識別され、SCA を使用して、互換性のあるインポートにワイヤーされます。
epr = EndpointReferenceFactory.INSTANCE.createEndpointReference(); epr.setAddress(uri); epr.setImport(importName); Service dynamicService = (Service) ServiceManager.INSTANCE.getService(refname, epr);JMS URI には、Web サービスの SOAP/JMS エンドポイント・アドレスと同じ接頭部が設定されます。 エンドポイント参照にバインディング・タイプ属性を追加して、正しいエンドポイント・タイプを指定します。 JMS URI に対してバインディング・タイプ属性を指定しなかった場合は、エンドポイント参照が JMS インポートにワイヤーされていない限り、そのアドレスは SOAP/JMS エンドポイントとして解釈されます。
動的起動で使用する JMS エンドポイントは、JMS URI 標準に準拠した構造になります。
>>-scheme--:--jms-variant--:--jms-dest--?--parameter-----------><
JMS 接続ファクトリーでは、アプリケーション管理のセキュリティーが使用されます。 コンテナー管理のセキュリティーは使用されません。 したがって、コンポーネント管理の認証別名を設定する必要があります。
有効な JMS URI の例を次に示します。
jms:jndi:MyTargetQueueName?jndiConnectionFactoryName=MyConnectionFactoryName
送信宛先の入力名と接続ファクトリーは、サーバーで既に定義されている必要があります。
ターゲット・インポートと、メッセージ内でエンドポイントとして指定されているエクスポート 3 を使用して POJO を起動すると、動的起動が実行されます。 起動された POJO は、SCA EPR API を使用してインポートを解決します。 さらに POJO は、メッセージからエンドポイントを抽出し、元のインポートで指定されているエクスポート 2 ではなくエクスポート 3 をエンドポイントとして識別します。 また、メッセージ内で指定されているターゲット・インポートを使用して、メッセージのエンドポイントで指定されているリモート・サービスを起動します。 サービスの起動後に、応答が POJO に返されます。
片方向の起動メッセージは、両方向の起動メッセージと同じように機能しますが、応答メッセージは返しません。