经过两天的辛勤努力,一个简单Spring+osworkflow结构的代码框架终于搭建好了,用Spring来管理bean和实现页面的跳转,osworkflow来实现业务流程,在页面上显示,使得按钮连接能够显示当前的状态,并且能够使流程前进,虽然这么一个看似简单的结构在以前也接触过,但是真的让我自己从头搭一个环境、只用该用的、不用多余的还真有点难,这里我不讲技术实现,因为对于实现来讲,大侠们都胸有成竹,我只想我今天遇到的问题和透过这些通过这些问题总结的经验。
首先,要理解spring依赖注入的真正含义,哪些东西是需要我们自己手工新建的,哪些东西是spring能够帮我们做的,spring能帮我们做的事情就不要再做了,这样不仅仅是浪费时间,还不能达到你的目的。
其次,osworkflow确实一个比较省心的工作流引擎,我也会尽量把它推广到我们的项目中,除了需要知道它的一些基本概念,跟spring配合的地方也要很清楚,这些东西在osworkflow的自带的文档里面都有解释。
第三,osworkflow的一些自带表虽然脚本都是现成的了,但我还是发现它的Sybase版本有一些问题,一些ID应该声明为identity的,却没有声明,这是不能使主键自增的。它对自己表的操作虽然是通过内部hibernate工具实现的,但是最好还是要看懂,在os_wfentry表中,工程在跑的时候会去找一个叫version的字段,而这个字段是自带文档里不曾提及的,不知道这个字段是干什么用的,在spring的配置中sessionFactory的映射文件会找一个com/opensymphony/workflow/spi/hibernate/Hiberna
首先,要理解spring依赖注入的真正含义,哪些东西是需要我们自己手工新建的,哪些东西是spring能够帮我们做的,spring能帮我们做的事情就不要再做了,这样不仅仅是浪费时间,还不能达到你的目的。
其次,osworkflow确实一个比较省心的工作流引擎,我也会尽量把它推广到我们的项目中,除了需要知道它的一些基本概念,跟spring配合的地方也要很清楚,这些东西在osworkflow的自带的文档里面都有解释。
第三,osworkflow的一些自带表虽然脚本都是现成的了,但我还是发现它的Sybase版本有一些问题,一些ID应该声明为identity的,却没有声明,这是不能使主键自增的。它对自己表的操作虽然是通过内部hibernate工具实现的,但是最好还是要看懂,在os_wfentry表中,工程在跑的时候会去找一个叫version的字段,而这个字段是自带文档里不曾提及的,不知道这个字段是干什么用的,在spring的配置中sessionFactory的映射文件会找一个com/opensymphony/workflow/spi/hibernate/Hiberna