アプリケーションコンテキストサービスプロパティとリソースプロパティ
これらのプロパティは、一般にファクトリクラスが代理、サービス、またはリソースを検出するために使用します。これらのプロパティは、以下のいずれかのフォーマットで記述されます。
wt.services/svc/default/<Service Type>/< Selector >|null/<Requestor>/<Service
Priority Number>=<Service Class Name>/<duplicate or singleton>
or
wt.services/rsc/default/<Resource Type>/<Selector>|null/<Requestor>/<Service
Priority Number>=<Resource Name>
最初のフォーマットは、関数の実行またはサービスを提供するために Java サービスまたは代理クラスを検出する際に使用されます。2 つ目のフォーマットは、HTML テンプレートファイルやアイコンイメージファイルなどのリソースファイルを検出するために使用されます。
定義
• サービス名 = このプロパティによって参照されるサービスまたは代理のタイプ
• リソースタイプ = このプロパティによって参照されるリソースのタイプ
• セレクタ = このサービスまたはリソースが使用されるコンテキストを指定するために使用される識別子 (操作名など)
• リクエスタ = サービス、代理、またはリソースの使用対象となるオブジェクトクラス
• サービスの優先順位 = 有効な代理を選択する際に使用される優先順位 (以下を参照)
• サービスクラス名 = 指定されたサービスタイプ、セレクタ、およびリクエスタの代理またはサービスクラスの名前
• リソース名 = 指定されたリソースタイプ、セレクタ、およびリクエスタのリソース名
• duplicate または singleton = サーバーが代理クラスの共有インスタンスを生成するか、または使用のたびに新しいインスタンスを生成するかどうかを指定するフラグ。どちらも指定しない場合は、duplicate が使用されます。
以下に示すのは、あるテンプレートプロセッサのプロパティの例です。
wt.services/svc/default/wt.enterprise.TemplateProcessor/AddAlternates/
wt.part.WTPartMaster/0=wt.part.AlternatesLocalSearchProcessor/duplicate
ここで、サービス名、セレクタ、およびリクエスタは以下のとおりです。
Service Type = "wt.enterprise.TemplateProcessor"
Selector = the action name "AddAlternates"
Requestor = "wt.part.WTPartMaster"
|
HTTPState オブジェクトを組み込むサービスクラスは、duplicate にする必要があります。これには BasicTemplateProcessor、FormTaskDelegate、および NavBarActionDelegate のインスタンスが含まれます。
|
指定されたリクエスタオブジェクトクラスのサービスまたはリソースクラスに対するリクエストをファクトリが受け取り、そのリクエスタクラスのプロパティエントリを検出できなかった場合、ファクトリはそのリクエスタクラスの親クラスまたはインタフェースのエントリを見つけようとします。親クラスまたはインタフェースのエントリも見つからない場合は、さらにその親のエントリが検索されていきます。複数の親クラスまたはインタフェースのエントリが検出される場合もあります。それらのエントリのサービス優先順位が異なる場合は、優先順位の最も低いエントリが選択されます。エントリのサービス優先順位がすべて同じであれば、任意のエントリが選択されます。
アプリケーションコンテキストサービスプロパティを含んだファイルを実行時に正しく読み込むには、wt.properties 内で以下のいずれかのプロパティにそれらのファイルが記述されていなければなりません。
wt.services.applicationcontext.WTServiceProviderFromProperties.defaultPropertyFiles
wt.services.applicationcontext.WTServiceProviderFromProperties.customPropertyFiles
プロパティファイルは記述された順に呼び込まれ、defaultPropertyFiles に記述されたファイルは customPropertyFiles に記述されたファイルより先に呼び込まれます。複数のファイルで同じプロパティが検出された場合は、最後に呼び込まれたファイルの値が使用されます。カスタムプロパティは、customPropertyFiles のリストに配置する必要があります。
アプリケーションコンテキストサービスプロパティを通常のプロパティと区別する点、および読み込み順を決定する効果がある点を除いて、プロパティをさまざまなプロパティファイルにグループ化することは、主にメンテナンスを容易にするためであって、システムにとって重要ではありません。TemplateProcessor プロパティを service.properties ファイルではなく htmltemplate.properties ファイルに配置しても、システムはこれを検出できます。
頻繁にカスタマイズされるサービスプロパティファイルの多くは、直接作成または編集されるのではなく、xml ファイルから生成されます。プロパティファイルを生成するために使用される XML ファイルの名前は、関連するプロパティファイルと同じですが、拡張子として .xconf が付加されています。たとえば、
service.properties を生成するために使用される XML ファイルの名前は
service.properties.xconf です。xconf ファイルの詳細については、
カスタマイズの管理を参照してください。
カスタム HTML クライアント用にアプリケーションコンテキストプロパティエントリを追加する必要がある場合は、それらを新しいプロパティファイルまたはカスタマイズ専用ファイルに記述してください。このファイルは、xconfmanager ユーティリティを使用して、
WTServiceProviderFromProperties.customPropertyFiles のファイルリストに追加する必要があります。この手順については、
カスタマイズの管理を参照してください。