统一对象消息编程详解——命令行消息输入模块

   在很多情况下,程序需要命令行的输入控制,如更改参数、重启等。TLMsgScanner为命令行消息输入模块,可以通过命令行给任何一个模块发送消息。如启动了TLMsgScanner,则可以以下参数发送消息:

  m=modulename  a=action   p1=value1   p2=value2

  m:接收消息的模块    a:消息中的指令action   p1 、p2 为消息中的参数 。m、 a 为必须项。例如要给定时案例中的定时模块发送消息:

 m=myTaskManger   a=startTask   taskid=pcboy_eat

配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<moduleConfig>
    <params>
        <defaultModule value="myTaskManger"/>
        <defaultAction value="setTaskStatus"/>
    </params>
    <msgToModules>
        <module name="HSServer"  actions="info;warn;debug"  ></module>
        <module name="myTaskManger"  actions="setTaskStatus;shutdown"  ></module>
    </msgToModules>
</moduleConfig>

为防止消息误发及安全,msgToModules 项定义接收消息的模块 及可发送的指令 actions,上例配置中定义了允许接收命令行的模块为 HSServer及 myTaskManger, 其中myTaskManger 只允许发送指令 setTaskStatus、shutdown。

为方便,定义了默认模块defaultModule  及默认指令defaultAction ,当不设定m 及 a时,采用默认模块及默认的指令。

命令行消息输入模块的启动与其他模块一样,可以在程序入口函数中启动,或工厂boot中启动 ,或被控制模块中等。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值