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

一个简单的网站怎么做的上海网站seo策划

一个简单的网站怎么做的,上海网站seo策划,漳州做网站建设,网站打开速度很慢甩锅声明:本人英语一般,翻译只是为了做个笔记,所以有翻译错误的地方,错就错了,如果你想给我纠正,就给我留言,我会改过来,如果懒得理我,就直接划过即可。 事实类型的属性…

甩锅声明:本人英语一般,翻译只是为了做个笔记,所以有翻译错误的地方,错就错了,如果你想给我纠正,就给我留言,我会改过来,如果懒得理我,就直接划过即可。  

 

事实类型的属性更改设置和监听器

默认的,Drools不会为了事实类型,在每一次的规则触发时重新评估所有的事实模式,而是对会对受限制或者内部给定模式绑定的属性修改做出反应。例如,如果规则调用modify()作为规则操作的一部分,但是操作没有在KIE库中产生新的数据,Drools不会自动的重新评估所有事实模式,因为没有数据被修改。这种属性反应行为可以防止KIE库中的没必要的递归,并且可以让规则评估更有效率。这种行为也意味着,你不需要总是使用no-loop属性去防止无限递归。

你可以修改或者禁用这种属性反应行为,使用下面KnowledgeBuilderConfiguration 选项,然后在你的Java类或者DRL文件使用属性更改设置对属性反应按照需要进行调整:

  • ALWAYS:(默认)所有类型都是属性反应,但是你可以取消某些指定类型的属性反应,使用@classReactivbe属性更改设置。

  • ALLOWED:没有类型是属性反映的,但是你可以使用@propertyReactive属性设置为指定的类型开启属性反应。

  • DISABLED:没有类型是属性反映的,所有的属性更改监听器都被忽略。

在 KnowledgeBuilderConfiguration设置属性反应的例子

KnowledgeBuilderConfiguration config = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
config.setOption(PropertySpecificOption.ALLOWED);
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(config);

或者,你可以更新在standalone.xml中的drools.propertySpecific系统属性

如下所示:

<system-properties>...<property name="drools.propertySpecific" value="ALLOWED"/>...
</system-properties>

Drools支持下面的属性更改设置和监听器

@classReactive

如果属性反应设置时ALWAYS,这个标签可以禁用指定类或者声明的DRL事实类型的默认的属性反应行为。如果您希望Drools规则引擎在每次触发规则时重新评估指定事实类型的所有事实模式,而不是仅对在给定模式内约束或绑定的修改属性作出反应,则可以使用此标记。

DRL类型声明时禁用默认属性反应

declare Person@classReactivefirstName : StringlastName : String
end

在Java类中禁用默认属性反应

@classReactivepublic static class Person {private String firstName;private String lastName;
}

@propertyReactive

如果属性反应卑职成ALLOWED,你可以使用这个标签指定设置属性反应的类型

DRL类型声明启动属性反应(当反应被全局禁用)

declare Person@propertyReactivefirstName : StringlastName : String
end

在Java类里面启用属性反应

@propertyReactivepublic static class Person {private String firstName;private String lastName;
}

@watch

这个标签对额外属性启用属性反应,额外属性是在事实模式中指定的内联属性。这个标签只在设置为ALWAYS时有效,或者属性反应式ALLOWED时,相关事实类型使用了@propertyReactive标签。你可以在DRL规则中使用这个标签去添加或者移除指定属性。

默认参数:没有

支持的参数:属性名,*(代表所有),!(表示取反),!*(没有属性有属性反应)

<factPattern> @watch ( <property> )

在实施模式中启用或者禁用属性反应

// Listens for changes in both `firstName` (inferred) and `lastName`:
Person(firstName == $expectedFirstName) @watch( lastName )// Listens for changes in all properties of the `Person` fact:
Person(firstName == $expectedFirstName) @watch( * )// Listens for changes in `lastName` and explicitly excludes changes in `firstName`:
Person(firstName == $expectedFirstName) @watch( lastName, !firstName )// Listens for changes in all properties of the `Person` fact except `age`:
Person(firstName == $expectedFirstName) @watch( , !age )// Excludes changes in all properties of the `Person` fact (equivalent to using `@classReactivity` tag):
Person(firstName == $expectedFirstName) @watch( ! )

如果你在使用了@classReactive的事实类型上使用了@watch标签,或者在属性反应设置成ALLOWED时没有使用@propertyReactive标签,Drools会产生一个编译错误。如果你在监听器注解中重复属性,例如@watch(firstName,!firstName),也会产生编译错误。

@propertyChangeSupport

对于在JavaBeans规范中定义的支持属性更改的事实,这个标签启动对事实属性更改的监测。

在JavaBeans对象中声明属性更改支持:

declare Person@propertyChangeSupport
end

http://www.wangmingla.cn/news/15388.html

相关文章:

  • 山东网站建设工作室安卓优化大师最新版
  • 用软件做seo网站关键词推广百度词条优化
  • 那里做网站好百度app推广方法
  • 网站怎么建设以及维护随州网络推广
  • wordpress调用指定的分类目录谷歌排名优化入门教程
  • wap网站模式简阳seo排名优化培训
  • 佛山网站建设网络公司百度sem竞价托管公司
  • 简要描述网站开发过程郑州百度推广公司电话
  • wordpress timelineseo排名分析
  • 天河网站建设公司排名apple日本网站
  • 南京网站制作公司南京乐识专心百度seo搜搜
  • 饭店餐厅网站建设seo诊断方法步骤
  • 哈尔滨疫情最新消息今天新增seop
  • 基于php的微网站开发推广网站大全
  • 重庆艺叮点网络科技有限公司seo搜索引擎优化期末考试
  • 公司域名让做网站的百度公司电话热线电话
  • 韩国风格网站整站源码营销型网站建设策划书
  • 电梯企业网站制作自己建网站的详细步骤
  • 电子商务网站建设与管理答案b最新国际新闻大事件
  • h5响应式网站建设代理产品50个关键词
  • 自己的网站怎么做seo长沙seo优化报价
  • 深圳住房和建设局网站轮候大厅自助建站系统哪个好
  • 宁波网站网站建设360seo排名优化服务
  • 海南美容网站建设网络营销网站
  • 潍坊作风建设网站宁波网络推广公司有哪些
  • 在日本做游戏视频网站seo投放是什么意思
  • 怎么在网站上添加地图网站内容编辑
  • 基本的网站建设知识亚马逊seo是什么意思
  • 怀集建设房管部门网站湖南网站seo公司
  • dw做的网站有缝怎么办今天时政新闻热点是什么