getCEPEngineMonitor
语法
getCEPEngineMonitor(engine, subEngineName, [monitorName])
详情
获取指定 CEP 引擎中指定或所有一级(非 spawn)monitor 实例。
参数
engine CEP 引擎句柄或名称。
subEngineName 字符串标量,表示 CEP 子引擎名称。
monitorName 字符串标量,可选参数,表示 monitor 名称。若不指定,返回所有一级 monitor 实例。
返回值
monitor 实例,或一个字典(键为 monitor 名称, 值为 monitor 实例)。
例子
class mainMonitor:CEPMonitor{
ordersTable :: ANY
def mainMonitor(){
ordersTable = array(ANY, 0)
}
def updateOrders(event) {
ordersTable.append!([event.trader, event.market, event.code, event.price, event.qty])
}
def onload(){
addEventListener(updateOrders, 'Orders',,'all')
}
}
class Orders{
eventTime :: TIMESTAMP
sym :: STRING
val0 :: INT
val1 :: FLOAT
val2 :: DOUBLE
def Orders(s,v0,v1,v2){
sym = s
val0 = v0
val1 = v1
val2 = v2
eventTime = now()
}
}
dummy = table(array(TIMESTAMP, 0) as eventTime, array(STRING, 0) as eventType, array(BLOB, 0) as blobs)
try{dropStreamEngine("cep1")}catch(ex){}
engine=createCEPEngine("cep1",<mainMonitor()>,dummy,Orders,,'eventTime',,,"sym")
appendEvent(`cep1,Orders("a000", 3, 3.0, 30.0))
// 查看 subEngine 的名称
getCEPEngineStat('cep1').subEngineStat["subEngineName"]
monitors = getCEPEngineMonitor('cep1', 'a000', 'mainMonitor')