IBM WebSphere MQ 受信アダプタの使用法
この章では、InterSystems IRIS® IBM WebSphere MQ 受信アダプタ (EnsLib.MQSeries.InboundAdapterOpens in a new tab) のデフォルトの動作、およびプロダクションでのこのアダプタの使用法について説明します。
受信アダプタを使用するビジネス・サービスの作成
このアダプタをプロダクションで使用するには、ここに記載されているように新しいビジネス・サービス・クラスを作成します。後で、それをプロダクションに追加して、構成します。存在しなければ、適切なメッセージ・クラスを作成する必要もあります。"プロダクションの開発" の “メッセージの定義” を参照してください。
ビジネス・サービス・クラスの基本要件を以下に列挙します。
以下の例は、必要となる一般的な構造を示しています。
Class EMQS.Service Extends Ens.BusinessService
{
Parameter ADAPTER = "EnsLib.MQSeries.InboundAdapter";
Method OnProcessInput(pInput As EnsLib.MQSeries.Message,
pOutput As %RegisteredObject) As %Status
{
set tsc=$$$OK
//your code here
Quit tsc
}
}
Note:
スタジオには、上記のようなビジネス・サービス・スタブの作成に使用できるウィザードが用意されています。このウィザードにアクセスするには、[ファイル]→[新規作成] をクリックし、[プロダクション] タブをクリックします。次に [ビジネス・サービス] をクリックして [OK] をクリックします。このウィザードには、汎用入力引数が用意されています。ウィザードを使用する場合は、このアダプタに必要な特定の入力引数を使用するためにメソッド・シグニチャを編集することをお勧めします。入力引数のタイプは EnsLib.MQSeries.MessageOpens in a new tab です。
例
以下のビジネス・サービスは、メッセージを取得し、EMQS.MessageProcessor という名前のビジネス・ホストにそのメッセージを転送します。
Class EMQS.Service Extends Ens.BusinessService
{
Parameter ADAPTER = "EnsLib.MQSeries.InboundAdapter";
Method OnProcessInput(pInput As EnsLib.MQSeries.Message,
pOutput As EMQS.InboundMsg) As %Status
{
//create production message to carry the retrieved MQ message
Set inbound=##class(EMQS.InboundMsg).%New()
Set inbound.Body=pInput.Body
Set inbound.MessageId=pInput.MessageId
//forward this to the message processor
Set tsc=..SendRequestSync("EMQS.MessageProcessor",inbound,.response)
Set pOutout=response
Quit tsc
}
}
メッセージ・クラス EMQS.InboundMsg は以下のとおりです。
Class EMQS.InboundMsg Extends Ens.Request
{
Property Body As %String (MAXLEN="");
Property MessageId As %String(MAXLEN = 128);
}
ビジネス・サービスの追加と構成
ビジネス・サービスをプロダクションに追加するには、管理ポータルを使用して以下の操作を行います。
-
ビジネス・サービス・クラスのインスタンスをプロダクションに追加します。
-
ビジネス・サービスを有効化します。
-
IBM WebSphere MQ キューにアクセスしてメッセージを取得するアダプタを構成します。具体的には、以下を行います。
これらのトピックについては、“IBM WebSphere MQ アダプタに関する設定” の節で説明します。
-
プロダクションを実行します。