drools+jbpm+guvnor三者交互Word下载.docx

上传人:b****5 文档编号:21410007 上传时间:2023-01-30 格式:DOCX 页数:14 大小:626.93KB
下载 相关 举报
drools+jbpm+guvnor三者交互Word下载.docx_第1页
第1页 / 共14页
drools+jbpm+guvnor三者交互Word下载.docx_第2页
第2页 / 共14页
drools+jbpm+guvnor三者交互Word下载.docx_第3页
第3页 / 共14页
drools+jbpm+guvnor三者交互Word下载.docx_第4页
第4页 / 共14页
drools+jbpm+guvnor三者交互Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

drools+jbpm+guvnor三者交互Word下载.docx

《drools+jbpm+guvnor三者交互Word下载.docx》由会员分享,可在线阅读,更多相关《drools+jbpm+guvnor三者交互Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

drools+jbpm+guvnor三者交互Word下载.docx

找到新建的工程“drools1”,打开目录src/main/rules,打开Sample.drl,

Sample.drl文件内容如下:

右键点击Sample.drl,点击“Guvnor”—“Add”,窗体如下:

点击“Next”,选择窗体中的树状菜单下的Packages下的包,如下图:

点击“Finish”,完成发布。

3.查看发的drl文件

打开http:

//localhost:

8080/drools-guvnor,在刷新该页面,显示如下

点击树状菜单下的“知识库”—“包”—“defaultPackage”,如下图:

打开“Sample”,如下图:

二、Gunvor和Drools交互

1.打开Gunvor页面

2.创建规则文件

点击树状菜单下的“知识库”—“新建”—“新建规则”,规则命名为firsh,弹出窗体,如下图:

点击“OK”,编辑好的firsh规则如下:

点击“文件”—“保存并关闭”。

3.将Guvnor生成的规则文件显示到myeclipse中

打开工程“drools1”,右键点击src/main/rules目录,点击“Import”,点击窗体中的树状菜单“Guvnor”—“ResourcesfromGuvnor”,如下图:

点击“Next”,如下图:

选择firsh.drl,点击“Next”,选择放置的位置,如下图:

点击“Finish”完成。

内容如下:

修改成如下:

三、Drools与jbpm

准备jbpm工程:

实例\工作流+规则\hello-world

1.工作流程

将工程导入到myEclipse中,打开工程“hello-world”,打开目录src/main/resources,打开sample_drl.bpmn文件,如下图:

点击“VerificaDati”控件,找到他的属下窗口,将属性“RuleFlowGroup”的值设置为“verifica_dati”,如下图:

在和simple_drl.bpmn同一个目录下找到my_rules.drl规则文件,打开规则文件,规则文件内容显示如下:

my_rules.drl中ruleflow-group名与sample_drl.bpmn设置的属下名一致。

执行该规则流代码如下:

packagecom.sample;

importjava.util.HashMap;

importjava.util.Map;

importorg.drools.KnowledgeBase;

importorg.drools.builder.KnowledgeBuilder;

importorg.drools.builder.KnowledgeBuilderFactory;

importorg.drools.builder.ResourceType;

importpiler.BPMN2ProcessFactory;

importpiler.ProcessBuilderFactory;

importorg.drools.io.ResourceFactory;

importorg.drools.logger.KnowledgeRuntimeLogger;

importorg.drools.logger.KnowledgeRuntimeLoggerFactory;

importorg.drools.marshalling.impl.ProcessMarshallerFactory;

importorg.drools.runtime.StatefulKnowledgeSession;

importorg.drools.runtime.process.ProcessRuntimeFactory;

importorg.jbpm.bpmn2.BPMN2ProcessProviderImpl;

importorg.jbpm.marshalling.impl.ProcessMarshallerFactoryServiceImpl;

importorg.jbpm.process.builder.ProcessBuilderFactoryServiceImpl;

importorg.jbpm.process.instance.ProcessRuntimeFactoryServiceImpl;

/**

*Thisisasamplefiletolaunchaprocess.

*/

publicclassExampleDrools{

publicstaticfinalvoidmain(String[]args){

try{

KnowledgeBasekbase=readKnowledgeBase();

StatefulKnowledgeSessionksession=kbase.newStatefulKnowledgeSession();

KnowledgeRuntimeLoggerlogger=KnowledgeRuntimeLoggerFactory.newFileLogger(ksession,"

test"

);

Useruser=newUser();

user.setUsern("

rosa"

user.setPwd("

123456"

Map<

String,Object>

params=newHashMap<

();

params.put("

username"

user.getUsern());

password"

user.getPwd());

ksession.startProcess("

com.sample.bpmn.hello"

params);

ksession.insert(user);

ksession.fireAllRules();

logger.close();

ksession.dispose();

}catch(Throwablet){

t.printStackTrace();

}

}

privatestaticKnowledgeBasereadKnowledgeBase()throwsException{

ProcessBuilderFactory.setProcessBuilderFactoryService(newProcessBuilderFactoryServiceImpl());

ProcessMarshallerFactory.setProcessMarshallerFactoryService(newProcessMarshallerFactoryServiceImpl());

ProcessRuntimeFactory.setProcessRuntimeFactoryService(newProcessRuntimeFactoryServiceImpl());

BPMN2ProcessFactory.setBPMN2ProcessProvider(newBPMN2ProcessProviderImpl());

KnowledgeBuilderkbuilder=KnowledgeBuilderFactory.newKnowledgeBuilder();

kbuilder.add(ResourceFactory.newClassPathResource("

sample_drl.bpmn"

),ResourceType.BPMN2);

my_rules.drl"

),ResourceType.DRL);

returnkbuilder.newKnowledgeBase();

}

仔细过程请看hello-world工程。

四、Jbpm和gunvor交互

同第一大点drools和gunvor,在此不做仔细说明。

五、Gunvor和jbpm交互

同第二大点gunvor和drools,在此不做仔细说明。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1