Drools Expert(jbpm5学习资料)

Drools Expert

JBPM5学习资料---Drools Export

DroolsExpert(Drools分析师)

         Drools分析师是声明性的,规则的基础,编码的环境。在这里可以让你把重点放在“什么事你想做的是”,而不是“如何做到这一点”。

 

下面是一个简单的“反应”监控的案例,每隔几个小时报警时,发送一个消息。日历属性,可以确保该规则实在平日执行。监控像这样的例子,将是一个长期运行的应用程序。

Eg:

rule "Weekday Alarm Response"  timer(int 4h) calendar "weekday"when

      a : Alarm( )   

       then

      sendMessage( "There is analert" + a);

       end

 

这是另一个例子,说明申请驾驶照的处理过程。例子disqalifies任何申请人是18岁或者以上。数据处理这样的例子会考虑短期运行的应用程序

Eg :

rule "Person must be over 18 for Driving License" when

      $a : Application( person.age < 18)   

    then

      modify( $a ) { valid = false }

end

 

声明的规则是基础的方法是适合于各种各样的问题,甚至是游戏,如在以下两个推荐视频所示。记住要选择“720”设置在YouTube,提供最好的质量,建立在13分钟与Jboss Drools的,与JBoss Drools的,在20分钟内建立一个图形冒险游戏。

下面是例子片段

Eg:

         Person(age > 30 && < 40|| hair == "black")

    ---

    Person(pets["rover"].type =="dog")

    ---

    forall(Bus (color=="red"))

    ---

    $owner : Person( name == "mark")  Pet( name == "rover" ) from$owner.pets

    ---

    $zipCode : ZipCode() Person( ) from$hbn.getNamedQuery("Find People") 

                                           .setParameters( [ "zipCode" : $zipCode ] )

         ---

    accumulate( bus : Bus( color =="red" );  s : sum( bus.takings); s > 100 )

    ---

    zipCode : ZipCode()

    accumulate( bus : Bus( color =="red") from $hbn.getNamedQuery("Find Buses") 

                                                    .setParameters([ "zipCode", zipCode ] ) .list();

                s : sum( but.takings );

                s > 100 ) 

 

 

Eclipse的编辑和DSL代码的完成

 

 

 

并排规则流创建啦规则

 

 

交互式调试


引导编辑器

 

 

决策表


译文:http://www.jboss.org/drools/drools-expert

你可能感兴趣的:(Drools Expert(jbpm5学习资料))