我必须测试 ECF 中存在的所有远程服务提供者(或者至少是常见的:通用、r-osgi、SOAP 和 REST)的性能,因此以一种简单的方式从一个提供者更改为另一个提供者会很有帮助.
我知道如何在 component.xml 文件中设置一些提供程序的 Endpoint Description,例如,对于 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 服务来更改属性?
提前致谢!