Как настроить разных поставщиков распределения ECF в определении компонентов декларативной услуги? - PullRequest
1 голос
/ 20 декабря 2011

Я должен проверить производительность всех удаленных поставщиков услуг, присутствующих в ECF (или, по крайней мере, общих поставщиков: generic, 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 для изменения свойств?

Заранее спасибо!

...