1

ECF に存在するすべてのリモート サービス プロバイダー (または少なくとも一般的なプロバイダー: ジェネリック、r-osgi、SOAP、REST) のパフォーマンスをテストする必要があるため、あるプロバイダーから別のプロバイダーに簡単な方法で変更することは非常に役立ちます。 .

component.xml ファイルで一部のプロバイダーのエンドポイントの説明を設定する方法を知っています。たとえば、Generic の場合は次のとおりです。

<property name="service.exported.interfaces" type="String" value="*"/>
<property name="service.exported.configs" type="String" value="ecf.generic.server"/>
<property name="ecf.exported.containerfactoryargs" type="String" value="ecftcp://localhost:3787/server"/>

「service.exported.configs」を「ecf.r_osgi.peer」などの他の名前に変更すると、コードを再コンパイルすることなく、問題なくプロバイダーが変更されます。

また、「containerfactoryargs」プロパティにはいくつかの違いがあります (たとえば、前の例ではecftcp://r-osgi://に変更しています。ただし、プロバイダーの一覧には、この違いに関する例は他にありません。プロバイダー (たとえば、SOAP をどのように使用しますか? このプロバイダーのサービス プロパティはどれですか?)

さらに、Restlet を使用することは (たとえば、サービスのソース コードを変更して @Get("text") アノテーションを追加することを意味します。ここで説明します) 。それでは、サービスのコードにアノテーションを追加して、Restful サービスまたは SOAP サービスとして公開する義務がありますか? サービスに「押し付けがましい」コードを追加したり、別のメソッド (ConfigurationLoader など) からのアクティブ化を可能な限り避けたいと考えています。

では、すべての (または少なくとも最も一般的な) 配布プロバイダーのコンポーネント定義ファイルの例を含む情報ページはありますか? または、ソースを再コンパイルせずにプロバイダーを変更する最もエレガントな方法はどれですか? おそらく、前に述べたように、ConfigurationLoader サービスを使用してプロパティを変更するのでしょうか?

前もって感謝します!

4

0 に答える 0