2012-02-27 91 views
1

我正在编写一个引发活动的应用,类似于Phil Windley的personal data manager application的工作方式。但是,如果我尝试使用任何事件域但explicit,事件不会传播。以下规则适用于explicit作为域,但不适用于driverreg在没有明确使用KRL的情况下举办活动

rule driver_info_submit { 
    select when web pageview ".*" 
    pre { 
     driver_name = "Joe Driver"; 
     driver_phone = "111-555-1212"; 
     msg = << 
      Current driver info: #{ent:driver_name}, #{ent:driver_phone} 
     >>; 
    } 
    notify("Started", msg); 
    fired { 
     raise explicit event new_driver_data with driver_name=driver_name and driver_phone=driver_phone; 
    } 
} 

// Save driver name 
rule save_driver_name { 
    select when explicit new_driver_data 
    pre { 
     driver_name = event:param("driver_name") || ent:driver_name; 
     driver_phone = event:param("driver_phone") || ent:driver_phone; 
    } 
    noop(); 
    always { 
     set ent:driver_name driver_name; 
     set ent:driver_phone driver_phone; 
     raise explicit event driver_data_updated; 
    } 
} 

rule driver_info_updated { 
    select when explicit driver_data_updated 
    { 
     notify("Driver name", ent:driver_name); 
     notify("Driver phone", ent:driver_phone); 
    } 
} 

它似乎不是应用程序是否部署的问题,因为我已经尝试过这两种方式。我错过了什么?

回答

相关问题