public class HelloWorld_API {
@Test
public void createSchema() {
new Configuration().configure().buildSessionFactory();
}
// 部署流程定义
@Test
public void deploy() {
ProcessDefinition pd = null;
// 1, xml 文件,指定的是资源的相对路径(相对于classpath)
pd = ProcessDefinition.parseXmlResource("helloworld/processdefinition.xml");
// pd = ProcessDefinition.parseXmlInputStream(inputStream);
// pd = ProcessDefinition.parseXmlReader(reader);
// 2, zip 文件(流程定义文档),指定的是资源的相对路径(相对于classpath)
// pd = ProcessDefinition.parseParResource("helloworld/helloworld.zip");
// pd = ProcessDefinition.parseParZipInputStream(zipInputStream);
// 3, String
// pd = ProcessDefinition.parseXmlString(xmlString);
// JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance("/jbpm.cfg.xml");
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); // 创建Session,开始事务
// jbpmContext.getSession();
try {
jbpmContext.deployProcessDefinition(pd);
// jbpmContext.getGraphSession().deployProcessDefinition(pd);
} catch (RuntimeException e) {
jbpmContext.setRollbackOnly();
throw e;
} finally {
jbpmContext.close(); // 提交/回滚 事务,关闭Session
}
}
// 启动/创建 流程实例(Signal)
@Test
public void startProcessInstance() { //
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); // 创建Session,开始事务
ProcessDefinition pd = jbpmContext.getGraphSession().findLatestProcessDefinition("helloworld");
ProcessInstance pi = pd.createProcessInstance();
// jbpmContext.save(pi);
pi.getRootToken().signal();
jbpmContext.close();
}
// 查看/获取 任务(某人的、未完成的, 任务实例)列表
@Test
public void getTaskList() {
String actorId = "客户";
// String actorId = "商家";
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); // 创建Session,开始事务
List<TaskInstance> list = jbpmContext.getTaskList(actorId);
// jbpmContext.getTaskMgmtSession().findTaskInstances(actorId);
System.out.println("-----------> actorId = " + actorId);
for (TaskInstance ti : list) {
System.out.println("id=" + ti.getId()//
+ ",name=" + ti.getName()//
+ ",actorId=" + ti.getActorId()//
+ ",create=" + ti.getCreate()//
+ ",start=" + ti.getStart()//
+ ",end=" + ti.getEnd());
}
jbpmContext.close();
}
private long taskInstanceId = 3;
// 开始任务
@Test
public void startTask() {
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); // 创建Session,开始事务
TaskInstance ti = jbpmContext.getTaskInstance(taskInstanceId);
ti.start();
jbpmContext.close();
}
// 结束任务
@Test
public void endTask() {
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); // 创建Session,开始事务
TaskInstance ti = jbpmContext.getTaskInstance(taskInstanceId);
ti.end();
jbpmContext.close();
}
}
分享到:
相关推荐
斯坦福特jbpm入门资料,内容不错,由浅入深,系统讲解了jbpm,是不错的入门资料噢
jBPM是JBOSS下的一个开源java工作流项目,该项目提供eclipse插件,基于Hibernate实现数据持久化存储。 该文档介绍的是jbpm入门的案例,可以当作demo去学习,入门级,易上手。
jbpm入门例子收藏 doc.一个使用文档
jbpm入门指南和开发指南 两本开发手册 需要的朋友可以看看
jBPM 开发入门指南+JBPM3.1Help(中文).chm+jbpm开发指南.pdf,入门级宝典。
BPM (business process management) offers a programmatic structure for designing transactions and executing them using automated decisions, tasks and sequence flows. For example, an ...
jbpm入门,开发,jbpm入门,开发,jbpm入门,开发,jbpm入门,开发,jbpm入门,开发,jbpm入门,开发,
使用jbpm后,写了点资料,附带个小例子,希望对刚开始学的朋友有用(其实我也刚学~)
NULL 博文链接:https://llying.iteye.com/blog/415188
本资源是oa办公自动化中工作流的插件,使用比较方面
jbpm5.2入门实践,适合初级用户下载学习
JBPM4.4 小例子,入门级别,下载后请修改jbpm.hibernate.cfg.xml数据库配置文件,运行http://localhost:port/workflowOfHoliday/leave?zzg=deploy,希望对大家有用
jbpm入门例子,用Myeclipse6.0打开可以直接运行本例子。
JPBM4.4入门小例子,适合刚开始准备学工作流的筒子们。。
jBPM 开发 入门 指南 jBPM 开发 入门 指南
jbpm5入门学习资料
JBPM5入门学习 JBPM5.4中文手册
jbpm开发入门指南例子
JBPM4.4 工作流 入门 例子 HelloWorld