2012-02-27 4 views
1

Я пишу приложение, которое вызывает события, похожие на то, как работает Фил Уиндли 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); 
    } 
} 

Похоже, что проблема не связана с развертыванием приложения, поскольку я пробовал его в обоих направлениях. Что мне не хватает?

ответ

2

Только некоторые домены могут как домены в рейзе заявлении:

  • Явные системы
  • HTTP
  • уведомление
  • ошибка
  • PDS

Это может быть смягчено в будущем.

Это описано в документах здесь: https://kynetxdoc.atlassian.net/wiki/display/docs/Raising+Explicit+Events+in+the+Postlude (обратите внимание, что это временный дом для документации)

+0

Понял. Я предположил, что «пдс» был произвольным; не знал, что есть белый список. Благодаря! –

Смежные вопросы