osworkflow mysql_OSWorkflow+MySQL工作流示例

OSWorkflow是一个比较老的工作流框架,官方早就已经停止了对它的支持。但是用来学习工作流的基本思想,用于简单的工作流业务还是可以的。官方文档中部署示例是针对tomcat4来说明的,在这里进行了调整,使其能够跑在tomcat7和MySQL数据库上。

解压下载的压缩包,其中的osworkflow-2.8.0-example.war是可以直接跑在任何servlet服务器中的。但是默认情况下,这个示例程序是使用的xml作为来做存储的。现在需要将其调整到数据库中。

示例程序中有几个比较重要的配置文件:

osworkflow.xml:主要配置文件,系统主要通过该文件配置数据库或者流程定义文件。

其中主要需要注意的地方是

datasource: 这里配置了jndi数据源,名称是jdbc/osworkflow,你需要在tomcat的context.xml中进行相应的配置。数据库文件可以在下载包的src\etc\deployment\jdbc中找到。官方原配置中没有"java:comp/env/",导致在tomcat中始终报“找不到数据源”的错误。

entry.sequence和step.sequence:这两个是用来配置os_wfentry(流程实例)表和os_currentstep(当前步骤或节点)表的主键生成策略的。官方原配置中没有考虑MySQL,而是使用Oracle的nextVal数据库函数,要在MySQL上使用,我把改成了上述配置。

persistence:配置存储方式,WorkflowStore有很多种,默认配置的是MemoryWorkflowStore,这里改成了JDBCWorkflowStore。

factory:也是配置存储方式,两个基本差不多,但是factory中不需要配置项persistent中那么多的property,只需要配置一个datasource就可以了。至于为什么非得配置两个就不得而知了,也许作者是准备将流程定义和流程执行的数据放在不同的数据库中,甚至用不同的存储方式来存储。因为从源码中可以看出,factory负责的是流行定义方面的信息处理,额persistent则主要负责管理流程的执行过程。

propertyset.xml:如果你选择了JDBCWorkflowStore,那么还需要配置这个文件:

这里又配置了一遍数据源。

workflows.xml:看名称就知道,它是用来配置流行定义文件的。如果你在osworkflow.xml中配置XMLWorkflowFactory,那么你还需要为这个factory配置一个resouce来引用下面的配置:

这个文件中可以定义多个流行定义,每个流行定义对应一个文件。如上所示定义了一个example流行,对应的文件是example.xml。

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2014-04-18 16:19

浏览 1632

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值