SERVICE_GET
SERVICE_GETコマンドにより、JSMクライアント・アプリケーションは、現在ロードされているサービスに関連するプロパティ・ファイルのキーワード/値のプロパティにアクセスできます。
クライアント・アプリケーションは、サービスに関連するプロパティの値にアクセスできますが、このような値を保持する共通の媒体としてサービス・プロパティ・ファイルを使用してアプリケーションに固有のプロパティの値にもアクセスした方が便利です。
後者の方法を使用する場合、アプリケーション定義のキーワード名と、現在または将来のバージョンのLANSA Integratorで使用されるキーワード名との間に競合が生じる可能性があります。この可能性を減らすには、プロパティ・キーワードの先頭にグローバルな一意の名前を付ける必要があります。以下の例では、この目的で接頭辞com.acme.propertyが使用されています。
サービス・プロパティのキーワード値は、JSM Messageフィールドに返されます。キーワードが存在しない場合、NOT_EXISTというステータスが返されます。
SERVICE_GET -------- PROPERTY -----値-------------------->
>-- TRACE ------- *SERVICE-------------------|
*TRANSPORT
キーワード
PROPERTY |
サービス・プロパティ・ファイルでチェックするキーワード/値を指定します。 サービス・プロパティのキーワード値は、JSM Messageフィールドに返されます。キーワードがサービス・プロパティ・ファイルに存在しない場合、NOT_EXISTというステータスが返されます。 |
TRACE |
· *SERVICE - サービス・トレース・ファイルを読み込みます。 · *TRANSPORT - 転送トレース・ファイルを読み込みます。 |
例
例では、サービス・プロパティ・ファイルのcom.acme.property.messagetype (アプリケーション定義のプロパティ)の値を取り出します。このプロパティは、以下のような行を含むサービス・プロパティ・ファイルで定義できます(この場合、値「html」がアプリケーションに返されます)。
com.acme.property.messagetype=html
RDML
USE BUILTIN(JSM_COMMAND) WITH_ARGS('SERVICE_GET PROPERTY(com.acme.property.messagetype)') TO_GET(#JSMSTS #JSMMSG)
RDMLX
#jsmcmd := ' service_get property(com.acme.property.messagetype)'
use builtin(jsmx_command) with_args(#jsmhdle #jsmcmd) to_get(#jsmsts #jsmmsg)
ILE RPG
c eval jsmcmd = 'service_get'
c + ' property(com.acme.property.messagetype)'
c callp p_jsmcmd(jsmcmd:jsmsts:jsmmsg)