jbpm总结2

1.在“jbpm总结1”里我们已经介绍了环境的搭建和开发C/S程序了,在“jbpm总结2”这里我将介绍一下怎么将jbpm整合到web程序里;

2.会hibernate的同学一定记得,我们在学校hibernate的时候也是先写c/s程序,在写web程序的时候只需要在src下放入hibernate.cfg.xml,在java程序里继承HibernateTemplate就是的了;道理一样,把jbpm整合到web 程序里也是如此;

3.新建一个项目MyWebJbpmTest,写一个index.html:

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
<form action="deplyWorkflow.servlet" method="post" enctype="multipart/form-data" name="form1">
  <table width="100%" border="0">
    <tr>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td>请选择要发布的流程定义文件:</td>
      <td><input name="workflowfile" type="file" id="workflowfile"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2" align="center"><input type="submit" name="Submit" value="提 交 "></td>
    </tr>
  </table>
</form>
</body>
</html>

 4. src写一个业务处理文件DeployWorkflowServlet.java:

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.graph.def.ProcessDefinition;
public class DeployWorkflowServlet extends HttpServlet{

 /**
  *
  */
 private static final long serialVersionUID = 8041201311993724926L;

 protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {

  //UploadFile 是我这边为了方便对上传文件处理而写的一个apache的common-file的简单封装
  //UploadFile upload=new UploadFile(arg0);
  //FileItem fileItem=upload.getFile("workflowfile");
  //InputStream fin=fileItem.getInputStream();
  //通过JbpmConfiguration 创建一个JbpmContext 实例
  JbpmConfiguration config=JbpmConfiguration.getInstance();
  JbpmContext context=config.createJbpmContext();
  ProcessDefinition pd = ProcessDefinition.parseXmlString(
         "<process-definition name='bengkuile'>" +
         "  <start-state>" +
         "    <transition to='s' />" +
         "  </start-state>" +
         "  <state name='s'>" +
         "    <transition to='end' />" +
         "  </state>" +
         "  <end-state name='end' />" +
         "</process-definition>"
       );
  context.deployProcessDefinition(pd);//发布上传过来的流程
  context.close();
  PrintWriter write=arg1.getWriter();
  arg1.setContentType("text/html");
  write.write("WorkFlow deploy success..........");//显示发布成功信息
  write.close();
 }
}

5.从别个c/s版的jbpm项目里拷贝一份hibernate.cfg.xml、jbpm.cfg.xml和log4j.properties丢在src下(系统会自动读取);

6.从别个c/s版的jbpm项目里拷贝一份gpd.xml、processdefinition.xml、processimage.jpg到src里,可以修改为自己的流程定义文件;

7导jar包:D:\学习软件\jbpm-starters-kit-3.1.4\jbpm\build下的jbpm-3.1.4.jar和jbpm-identity-3.1.4.jar以及D:\学习软件\jbpm-starters-kit-3.1.4\jbpm\lib下的每个文件夹里的jar包;(附加上自己的jdbc驱动包)

8.记得配置web.xml:

  <servlet>
    <servlet-name>deplyWorkflow</servlet-name>
    <servlet-class>DeployWorkflowServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>deplyWorkflow</servlet-name>
    <url-pattern>/deplyWorkflow.servlet</url-pattern>
  </servlet-mapping>

9.ok,一切都搞好了,部署到tomcat里运行,jbpm流程定义就被部署到数据库里了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值