欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    java开源项目使用Java开源工作流jBPM开发一个简单的.docx

    • 资源ID:931571       资源大小:89.78KB        全文页数:60页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java开源项目使用Java开源工作流jBPM开发一个简单的.docx

    1、java开源项目使用Java开源工作流jBPM开发一个简单的java开源项目-使用Java开源工作流jBPM开发一个简单的时间:2011-05-25 23:36来源:博客 作者:jack 点击: 次 jBPM是jboss旗下遵守LGPL许可的java开源工作流,功能比较完善,从4.0开始引入了pvm的概念,支持jPDL、BPEL等流程定义语言。由于相关资料还比较少,开发自己的一个demo还不是太容易,本文详细讲解如何做一个简单的demo程序。 我们从http:/www.jboss.org/jbossjbpm/jbpm_downloads/下载jBPM,实际使用时发现4.0.CR1和4.1版本各

    2、有一些问题,此处把这两个版本都下载下来。开发使用4.1版本,Eclipse插件GPD(图形化设计流程)使用4.0.CR1版本的,tomcat使用6.0.18版本的,jdk要求5.0及以上,Eclipse使用eclipse-jee-galileo-win32版本的。 下载包里面有自带的一个example,根据jBMP的文档可以部署,但这个example把工作流部分封装为RESTful Web Service,学习起来有一定难度,看了会让人一头雾水,此处就不讲了。以下讲述如何把jBPM嵌入到应用系统中去。 1、在Eclipse中安装GPD。 把%jbpm-4.0.CR1_HOME%/gpd下的jb

    3、pm-gpd-site.zip安装到Eclipse中,熟悉Eclipse的知道安装方法,在jBPM的文档中也有介绍。 2、在Eclipse中建立一个动态网站的项目jBPMDemo,复制必要的jar文件到WEB-INF/lib下面。 把%jbpm-4.1_HOME%/lib下的所有jar文件、%jbpm-4.1_HOME%/jbpm.jar复制过去。 但juel.jar中javax/el中的类与tomcat中的有冲突,把juel.jar中的javax/el删除。 3、配置mysql数据库。 在mysql数据库中建立一个名为jbpmdb的数据库,在里面执行%jbpm-4.1_HOME%/insta

    4、ll/src/db/jbpm.mysql.create.s ql建立jbpm所需的数据库表。 另外建立一个表存放业务数据: create table ask_for_leave ( id MEDIUMINT NOT NULL AUTO_INCREMENT primary key, apply_user varchar(50), - 申请人 apply_time timestamp default now(), - 申请时间 begin_leave_time timestamp, - 假期开始时间 end_leave_time timestamp, - 假期结束时间 leave_reason v

    5、archar(500), - 请假理由 approve_user varchar(50), - 审批人 approve_time timestamp, - 审批时间 is_passed smallint, - 是否同意,1 同意,2 驳回 approve_remark varchar(500), - 审批备注,如驳回的原因 back_time timestamp - 销假时间 ); 4、配置JOTM事务支持。 把carol.properties、jta.jar、commons-logging.jar、carol.jar、connector-1_5.jar、jotm.jar、jotm_jrmp_

    6、stubs.jar、jts1_0.jar、mysql-connector-java-3.1.11-bin.jar、objectweb-datasource.jar、xapool.jar放到%tomcat_home%/lib下面。 把howl.jar、jotm.jar、objectweb-datasource.jar、ow_carol.jar、xapool.jar放到WEB-INF/lib下面。 在jBPLDemo的context配置数据源,代码如下: org.hibernate.dialect.MySQ LInnoDBDialect java:comp/en v/JbpmDS org.hibe

    7、 rnate.transaction.JTATransactionFactory o rg.hibernate.transaction.JOTMTransactionManagerLook up java:comp/env/UserTransa ction 5、在Eclipse中GPD定义流程。 GPD对中文的支持还有问题,要用图形界面与直接编写代码相结合的方式,最后效果如下图: 产生的图片askForLeave.png放到应用的askForLeave文件夹下面。 6、建立几个java类。 demo.jbpm.DBUtil: package demo.jbpm; import java.sql

    8、.Connection; import javax.naming.InitialContext; import javax.sql.DataSource; import javax.transaction.UserTransaction; public class DBUtil private static DataSource ds; /* * 获取数据源 * return * throws Exception */ public static DataSource getDS() throws Exception if (ds = null) ds = (DataSource) new I

    9、nitialContext().lookup(java:comp/env/JbpmDS); return ds; /* * 获取数据库连接 * return * throws Exception */ public static Connection getConn() throws Exception return getDS().getConnection(); /* * 获取事务UserTransaction * return * throws Exception */ public static UserTransaction getUserTransaction() throws E

    10、xception UserTransaction ut = (UserTransaction) new InitialContext().lookup(java:comp/env/UserTransac tion); return ut; package demo.jbpm; import org.jbpm.api.Configuration; import org.jbpm.api.ExecutionService; import org.jbpm.api.IdentityService; import org.jbpm.api.ProcessEngine; import org.jbpm.

    11、api.RepositoryService; import org.jbpm.api.TaskService; public class JBPMUtil private static ProcessEngine pe; private static RepositoryService repositoryService; private static ExecutionService executionService; private static IdentityService identityService; private static TaskService taskService;

    12、 public static void deploy(String jdplPath) String deployId = getRepositoryService().createDeployment().addResou rceFromClasspath(jdplPath).deploy(); System.out.println(-deploy id: + deployId); public static ProcessEngine getProcessEngine() if (pe = null) Configuration config = new Configuration();

    13、pe = config.buildProcessEngine(); return pe; public static RepositoryService getRepositoryService() if (repositoryService = null) repositoryService = getProcessEngine().getRepositoryService(); return repositoryService; public static ExecutionService getExecutionService() if (executionService = null)

    14、 executionService = getProcessEngine().getExecutionService(); return executionService; public static IdentityService getIdentityService() if (identityService = null) identityService = getProcessEngine().getIdentityService(); return identityService; public static TaskService getTaskService() if (task

    15、Service = null) taskService = getProcessEngine().getTaskService(); return taskService; package demo.jbpm; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.u

    16、til.Set; import javax.servlet.http.HttpServletRequest; import javax.transaction.Status; import javax.transaction.UserTransaction; import org.jbpm.api.ProcessDefinition; import org.jbpm.api.ProcessInstance; import org.jbpm.api.model.ActivityCoordinates; import org.jbpm.api.task.Task; public class Ask

    17、ForLeave private final static String employeeName = 王三; private final static String managerName = 李五; public static void deploy() JBPMUtil.deploy(jpdl/askForLeave.jpdl.xml); JBPMUtil.getIdentityService().createUser(employeeN ame, 王, 三); JBPMUtil.getIdentityService().createUser(managerNa me, 李, 五); J

    18、BPMUtil.getIdentityService().createGroup(manager ); JBPMUtil.getIdentityService().createMembership(man agerName, manager); /* * 请假申请 * param request * throws Exception */ public static void apply(HttpServletRequest request) throws Exception UserTransaction ut =DBUtil.getUserTransaction(); Connection conn = DBUtil.getConn(); boolean rollback = false; try ut.begin(); /*业务部分 /请假申请存入数据库 Statement stmt = conn.createStatement(); String sql = insert into ask_for_leave(apply_user, + begin_leave_time,end_leave_time,leave_reason) values( + + request.getParameter(apply_user) + , + + request


    注意事项

    本文(java开源项目使用Java开源工作流jBPM开发一个简单的.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开