Как настроить разных поставщиков распределения ECF в определении компонентов декларативной услуги?
Я должен протестировать производительность всех удаленных поставщиков услуг, присутствующих в 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("текст"), как описано здесь. Затем, вы обязаны добавить аннотации в код вашей службы, чтобы представить их как службы Restful или SOAP? Я не хотел бы добавлять "навязчивый" код в мои службы или по возможности избегать их активации из другого метода (например, ConfigurationLoader).
Итак, есть ли информационная страница с примерами файлов определений компонентов для всех (или, по крайней мере, самых распространенных) поставщиков распространения? Или какой самый элегантный способ сменить провайдера без перекомпиляции исходного кода? Может быть, как было сказано ранее, использовать сервис ConfigurationLoader для изменения свойств?
Заранее спасибо!