惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
博客园 - 司徒正美
Last Week in AI
Last Week in AI
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
博客园 - 聂微东
M
MIT News - Artificial intelligence
博客园_首页
Jina AI
Jina AI
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
Vercel News
Vercel News
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
N
Netflix TechBlog - Medium
B
Blog
Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 阿木申

spring JPA 动态查询 iOS收到Push后播放声音和震动 [vb]sendkeys [vb]键盘精灵 - 阿木申 - 博客园 javascript 画带箭头的线段 关于input type='file'的内容的一种解决方法,模拟键盘 - 阿木申 - 博客园 防止IE缓存,就相当于IE选择每次打开就检查 - 阿木申 - 博客园 [dojo] 解决传中文的乱码问题 - 阿木申 - 博客园 [dojo] dojo.xhrGet和.net整合使用 [dojo]好用的页面对话框dijit.Dialog [dojo]日期选择:dijit.form.DateTextbox [dojo]功能强大的文本框:dijit.form.ValidationTextbox - 阿木申 - 博客园 dojo0.9 dojo.data研究笔记 [dojo] dojo 0.9 的使用心得 [原创]jBPM 子流程的使用 [原创]jBPM动态生成任务实例,会签或者分派任务时特别有用 [dojo转]动态生成widget [原创]jBpm中泳道使用心得 [原创]jBPM中的Expression和script
[原创]JBPM中的基本操作代码
阿木申 · 2007-07-02 · via 博客园 - 阿木申

最近研究了一下jBMP,将一些常用的方法记录下来:

public class BasicTest extends TestCase {
    
    
public void testSave(){
        JbpmContext jbpmContext
=null;
        
try //保存一个流程定义
        FileInputStream fis = new FileInputStream("src/main/jpdl/buy/processdefinition.xml");
        ProcessDefinition processDefinition 
= ProcessDefinition.parseXmlInputStream(fis);
        ProcessInstance instance 
= new ProcessInstance(processDefinition);
        jbpmContext 
= JbpmConfiguration.getInstance().createJbpmContext();
        
        jbpmContext.deployProcessDefinition(processDefinition);
        
        }
catch(Exception e){
        }
 finally {         
            jbpmContext.close();  
        }

    }

    
    
public void testCreateNewProcess(){
        JbpmContext jbpmContext 
= JbpmConfiguration.getInstance().createJbpmContext();
        
//ProcessInstance lastIns=jbpmContext.getProcessInstance(2);
        GraphSession graphSession = jbpmContext.getGraphSession();
        ProcessDefinition processDefinition1 
= graphSession.findLatestProcessDefinition("buy");
        ProcessInstance lastIns
=new ProcessInstance(processDefinition1);
        jbpmContext.save(lastIns);
        jbpmContext.close();        
    }

    
    
public void testSignal(){
        JbpmContext jbpmContext 
= JbpmConfiguration.getInstance().createJbpmContext();
        ProcessInstance ins
=jbpmContext.getProcessInstance(1);        
        System.out.println(
"root token:"+ins.getRootToken().getNode().getName());
        ins.signal();        
        System.out.println(
"root token:"+ins.getRootToken().getNode().getName());
        jbpmContext.save(ins);
        jbpmContext.close();
    }

    
    
public void _testManTask(){
        JbpmContext jbpmContext 
= JbpmConfiguration.getInstance().createJbpmContext();
                
        
//List list=jbpmContext.getTaskMgmtSession().findTaskInstances("shennan");
        List list=jbpmContext.getTaskMgmtSession().findPooledTaskInstances("shennan");
        
for(int i=0;i<list.size();i++){
            TaskInstance ti
=(TaskInstance)list.get(i);
            System.out.println(
"man task:"+ti.getName()+","+ti.getTaskMgmtInstance().getId());
            
            ti.end(
"to decision1");
        }

        
if(list.size()==0)System.out.println("no this man 's task!");
        jbpmContext.close();
    }

    
    
public void testSwimlane(){
        JbpmContext jbpmContext 
= JbpmConfiguration.getInstance().createJbpmContext();
                
        
//List list=jbpmContext.getTaskMgmtSession().findTaskInstances("shennan");
        List list=jbpmContext.getTaskMgmtSession().findPooledTaskInstances("shennan");
        
for(int i=0;i<list.size();i++){
            TaskInstance ti
=(TaskInstance)list.get(i);
            System.out.println(
"man task:"+ti.getName()+","+ti.getTaskMgmtInstance().getId());
            
            ti.end(
"to购买");
        }

        
if(list.size()==0)System.out.println("no this man 's task!");
        
        System.out.println(
"开始购买");
        List ll
=jbpmContext.getTaskList("shennan");
        
if(ll.size()>0){
            TaskInstance ti
=(TaskInstance)ll.get(0);
            ti.end(
"to 选择物品");
        }

        
        System.out.println(
"退回");
        
//list=jbpmContext.getTaskMgmtSession().findPooledTaskInstances("shennan");\
        list=jbpmContext.getTaskMgmtSession().findTaskInstances("limeng");
        
if(list.size()>0){
            System.out.println(
"重做");
            TaskInstance ti
=(TaskInstance)list.get(0);
            ti.end(
"to decision1");
            
        }

                
        jbpmContext.close();
    }

}