ROS防火墙规则收集
2009-11-12 09:10
351 查看
该框架的使用需要结合hibernate
1.创建基本的数据库表
2.定义流程 例如
3.部署流程到数据库
4.创建公文
5.最关键的步骤,创建流程实例,并且和公文绑定
6.提交公文
7.得到公文所处在的流程节点
8.得到用户的公文
9.流程是否结束
1.创建基本的数据库表
JbpmConfiguration.getInstance().createSchema();
2.定义流程 例如
<?xml version="1.0" encoding="UTF-8"?> <!-- 定义文档 --> <process-definition name="文档测试流程"> <!-- 文档开始 --> <start-state name="开始"> <transition name="提交张三审批" to="张三审批"> </transition> </start-state> <!-- 各个流程的节点 --> <task-node name="张三审批"> <task name="审批1"> <assignment actor-id="张三"/> <transition name="提交李四审批" to="李四审批"> </transition> </task> </task-node> <task-node name="李四审批"> <task name="审批2"> <assignment actor-id="李四"/> <transition name="提交王五审批" to="王五审批"> </transition> </task> </task-node> <task-node name="王五审批"> <task name="审批2"> <assignment actor-id="王五"/> <transition name="提交王五审批" to="结束"> </transition> </task> </task-node> <!-- 结束 --> <end-state name="结束"></end-state> </process-definition>
3.部署流程到数据库
//2创建processdefinition对象 ProcessDefinition processdefinition = ProcessDefinition.parseXmlResource("processdefinition.xml"); //3创建jbpmContext对象, jbpmContext类似于hibernate session的功能 JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); try { //4部署流程到数据库 jbpmContext.deployProcessDefinition(processdefinition); } finally { //5关闭context对象 jbpmContext.close(); }
4.创建公文
Session session=HibernateUtil.getSession(); Transaction tx=session.beginTransaction(); Document doc=new Document(); doc.setContent("测试文档内容"); doc.setCreator("测试文档作者"); doc.setTitle("测试文档标题"); session.save(doc); tx.commit(); session.close();
5.最关键的步骤,创建流程实例,并且和公文绑定
ProcessInstance processInstance = new ProcessInstance(processdefinition); //存储流程实例processInstance jbpmContext.save(processInstance); doc.setProcessInstanceId(processInstance.getId()); //绑定公文到流程实例(ContextInstance 相当于变量的容器) processInstance.getContextInstance().setVariable("document", doc.getId());
6.提交公文
Document doc =(Document) jbpmContext.getSession().load(Document.class, 1); //根据流程实例ID加载流程实例 ProcessInstance processInstance = jbpmContext.getProcessInstance(doc.getProcessInstanceId()); // 触发流程往下走(即到达第一个节点) processInstance.getRootToken().signal();
7.得到公文所处在的流程节点
processInstance.getRootToken().getNode().getName()
8.得到用户的公文
List tasks2 = jbpmContext.getTaskMgmtSession().findTaskInstances("王五");
9.流程是否结束
processInstance.hasEnded();
相关文章推荐
- 收集的ROS防火墙脚本
- ros 防火墙规则教程
- 数据系列:通过Windows Azure SQL数据库防火墙规则控制数据库访问
- MariaDB/MySQL Galera服务器的防火墙规则
- linux防火墙iptables常用规则(屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链)
- ROS限速、防syn、ip伪装、mac绑定、防火墙、屏蔽端口
- Linux配置防火墙开启端口(防火墙规则)
- linux防火墙iptables常用规则(屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链)
- linux防火墙脚本,一键解决防火墙规则带来的痛苦。
- iptables 防火墙规则 的备份恢复
- 【iptables】编写iptables防火墙规则-2
- Windows Server 2008 R2防火墙入站规则
- Linux下如何添加防火墙规则
- iptables防火墙规则导致端口不通的案例分析
- Linux iptables 防火墙常用规则
- iptables 防火墙规则详解
- 规则引擎 资料收集