ワイヤーされている Java™ Message Service (JMS) データ・バインディング・インポートを使用してエンドポイントの動的起動を有効にする方法について説明します。この情報は、MQ JMS バインディングおよび汎用 JMS バインディングにも適用されます。
WebSphere® Integration Developer でタスクを実行して、動的エンドポイントが設定されたメディエーション・モジュールを作成します。
epr = EndpointReferenceFactory.INSTANCE.createEndpointReference(); epr.setAddress(uri); epr.setBindingType(bindingType); 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 はメッセージからエンドポイントを抽出し、元のデプロイメントで指定されているエクスポート 2 ではなくエクスポート 3 をエンドポイントとして識別します。 さらに POJO は、JMS インポートにワイヤーされている参照と SCA エンドポイント参照 API を使用して、メッセージのエンドポイントで指定されているリモート・サービスを起動します。 リモート・サービスは、ワイヤーされている JMS インポートを使用して起動されます。サービスの起動後に、応答が POJO に返されます。
片方向の起動メッセージは、両方向の起動メッセージと同じように機能しますが、応答メッセージは返しません。