ACE的Service Configurator使用心得

ACE的Service Configurator优雅地实现了各种服务/daemon的统一配置。

原理其实就是实现了一套插件系统。

感觉配置文件的格式比较过时,没有采用xml方式。

 

动态服务的初始化配置:

dynamic service_name type_of_service * location_of_lib:name_of_object "parameters"

1.service_name自己定义。

2.type_of_service一般是Service_Object,估计是服务继承自ACE_Service_Object的缘故。

3.location_of_lib就是动态库的位置。

4.name_of_object是库导出的全局变量名,实际操作中cpp文件可以利用ACE提供的宏ACE_SVC_FACTORY_DEFINE(CLSNAME)定义此导出变量,跟踪源码发现迂回曲折地弄了一圈,在配置文件中就可不用知道导出名,而直接写_make_CLSNAME()了,好处估计是希望跨平台,譬如windows和linux的动态库导出变量的方式就有不同。

 

你可能感兴趣的:(ACE的Service Configurator使用心得)