ACE的Service Configurator使用心得

本文介绍ACE框架中的ServiceConfigurator组件如何通过一套插件系统来实现服务配置的统一管理。文章详细解释了动态服务配置文件的格式及各部分的作用,包括服务名称、类型、动态库位置及对象名称等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的动态库导出变量的方式就有不同。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值