当前位置: 首页 > news >正文

新洲城乡建设局网站wordpress手机cms

新洲城乡建设局网站,wordpress手机cms,wordpress用手机qq微信微博,上海品牌logo设计公司在上一篇有关骆驼-小水车的帖子中#xff0c;我介绍了骆驼-小水车的组件#xff0c;并使用骆驼路线中的规则实现了一些简单的面向任务的过程。 今天#xff0c;我将展示如何通过添加事件处理来扩展此示例。 那么如何描述一个事件呢#xff1f; 每个事件在某个时间发生并持… 在上一篇有关骆驼-小水车的帖子中我介绍了骆驼-小水车的组件并使用骆驼路线中的规则实现了一些简单的面向任务的过程。 今天我将展示如何通过添加事件处理来扩展此示例。 那么如何描述一个事件呢 每个事件在某个时间发生并持续一段时间事件以特定顺序发生。 然后我们有了一个“事件云”我们要从中识别那些事件这些事件形成了一些有趣的关联。 在这里Drools的用法变得合理了-我们不必对每个事件都做出反应只需为这些有趣的关联描述一组规则和后果。 Drools引擎将找到它们并触发匹配规则。 假设我们的系统必须监视分配给用户的任务的执行。 创建任务后用户有10天的时间完成任务。 如果他不这样做则应发送剩余的电子邮件。 规则定义如下所示 import org.apache.camel.component.drools.stateful.model.* global org.apache.camel.component.drools.CamelDroolsHelper helperdeclare TaskCreatedrole( event )expires( 365d ) enddeclare TaskCompletedrole( event )expires( 365d ) endrule Task not completed after 10 dayswhen$t : TaskCreated()not(TaskCompleted(name$t.name, this after [-*, 10d] $t))thenhelper.send(direct:escalation, $t.getName()); end 如您所见事件有两种类型TaskCreated当系统将任务分配给用户时和TaskCompleted当用户完成任务时。 我们通过name属性将两者关联起来。 首先我们需要通过添加roleevent和expires批注将模型类声明为事件。 然后我们描述规则“当TaskCreated事件10天后没有TaskCompleted事件时将任务名称发送到directescalation路线”。 同样这可能是声明式编程的示例–我们不必指定任务的实际名称只需按名称将TaskCreated与TaskCompleted事件相关联即可。 在此示例中我使用了“之后”时间运算符。 有关其他说明请参阅Drools Fusion文档 。 最后这是JUnit测试代码片段 public class TaskEventsTest extends GenericTest {DefaultCamelContext ctx;Testpublic void testCompleted() throws Exception {insertAdvanceDays(new TaskCreated(Task1), 4);assertContains(0);insertAdvanceDays(new TaskCompleted(Task1), 4);advanceDays(5);assertContains(0);}Testpublic void testNotCompleted() throws Exception {insertAdvanceDays(new TaskCreated(Task1), 5);assertContains(0);advanceDays(5);assertContains(Task1);}Testpublic void testOneNotCompleted() throws Exception {ksession.insert(new TaskCreated(Task1));insertAdvanceDays(new TaskCreated(Task2), 5);assertContains(0);insertAdvanceDays(new TaskCompleted(Task1), 4);assertContains(0);advanceDays(1);assertContains(Task2);advanceDays(10);assertContains(Task2);}Overrideprotected void setUpResources(KnowledgeBuilder kbuilder) throws Exception {kbuilder.add(new ReaderResource(new StringReader(IOUtils.toString(getClass().getResourceAsStream(/stateful/task-event.drl)))), ResourceType.DRL);}Overridepublic void setUpInternal() throws Exception {this.ctx new DefaultCamelContext();CamelDroolsHelper helper new CamelDroolsHelper(ctx, new DefaultExchange(ctx)) {public Object send(String uri, Object body) {sentStuff.add(body.toString());return null;};};ksession.setGlobal(helper, helper);} } 您可以在此处找到此示例的源代码。 参考来自我们的JCG合作伙伴 Piotr Jagielski在全栈JVM开发…博客中的骆驼控件中的事件处理 。 翻译自: https://www.javacodegeeks.com/2014/03/event-processing-in-camel-drools.html
http://www.yutouwan.com/news/404916/

相关文章:

  • 网站建设电话销售不被挂断网站建设移动网络
  • 单页面企业网站永康市建设银行网站查询
  • 律师行业协会网站建设ai做图标教程网站
  • 天津平台网站建设费用建设网站的HTML代码
  • 私人网站如何建中国最大型网站
  • 网站 设计案例新网免费空间
  • 如何预览做好的网站网站建设公司前十名
  • 淄博网站制作服务怎样做网站首页图片变换
  • 网站建设需要考虑因素wordpress 汉化 主题
  • 简单介绍网站建设的一般流程西安网页设计多少钱
  • 如何设置网站子域名东莞材料网站建设
  • 长治网站制作怎么做html网页设计代码简单例子
  • 免费设计网站logo电商产品推广方案范文
  • 做一个公司的网站应做哪些准备工作内容做软件的网站
  • 解决国外网站很慢免费模板下载网
  • 斐讯路由器做网站映射做网站需要注册什么公司
  • 深圳专业网站建设企永久免费的连外网的软件
  • 网站建站报告网页设计的价格
  • 深圳企业网站文昌湖城乡建设局网站
  • 网站 搜索怎么实现怎么生成二维码
  • 百度云 做视频网站怎么用wix做网站
  • 云南响应式网站建设wordpress到服务器配置
  • 网站 购买德州做网站建设的公司哪家好
  • 深圳做网站开发公司高端企业网站 程序
  • 重庆网站建设qq群网上开店需要营业执照吗
  • 甘肃省集约化网站建设做移门图的 网站有哪些
  • 英语故事网站建设最强大的搜索引擎
  • 网站建设标准依据成都网站建设询q479185700霸屏
  • 百度云域名没有备案怎么做网站百度给公司做网站效果咋样
  • 上海闵行网站建设公司在线技能培训平台