Activiti学习笔记(引擎配置文件activiti.cfg.xml,不是spring配置文件)

Activiti分这几个部分,引擎配置文件activiti.cfg.xml,spring中配置它,流程图文件(bmnp文件格式和png图片格式)

Activiti是一个开源的工作流引擎,主页在http://www.activiti.org/,要下载的话直接点上面的download就可以啦。下载下来的东西里面有document,tutorial,还有需要的所有的jar包,还有一些demo。目前最新的版本是activit-5.9

这个项目的project leader是鼎鼎大名的Tom Baeyens,据说他以前是做jbpm的,做到jbpm4的时候,他离开了JBoss,到了Alfresco公司,组建起了这个Activiti研发团队,某种程度上,可以说这个Activiti才是真正jbpm5,而现在所谓的jbpm5几乎放弃了jbpm4的所有代码,从新开始,是以前的drool flow。

下载到的zip文件解压之后,第一件事当然是去看里面的document了,有个readme.html就是了。

看看看,他会告诉你怎么去运行它的demo,就是到setup目录下运行ant demo.start。我当时运行的时候,还出了点问题。运行demo.start会做几件事情:

1.      会自动建立H2数据库,建表,倒入数据

2.      自动联网去下载一个适合版本的tomcat,具体的配置信息在setup目录下的build.properties和build.db.properties中查看

3.      自动发布工程activiti-explorer和activiti-rest到那个tomcat上

4.      给你打开浏览器,访问这个工程activiti-explorer

太傻瓜,太自动化了。

如果自己已经有了好的tomcat,而且不想然它去下载,那也简单,只要按

build.properties中的配置,添加你的tomcat到上面命令生成downloads目录,而且修改恰当的tomcat版本号,就可以了。

如果不出意外,你一步到位的跑完,你已经看到activiti-explorer的登录界面了,这个demo默认的登录用户文档中说了,比如管理员kermit/kermit,登录上去玩吧。登录上去以后可以看到task,process和database,database是管理员才可以看到的。database可以看到数据库里面的数据。这些数据保存在H2中的,有兴趣的自己去研究一下这个H2数据库,只要一个jar包,嵌入式的,牛逼着呢,呵呵。

点到process上,可以看到一些已经发布了的流程demo,右上角有个startprocess的按钮,可以启动一个流程的。流程启动了就需要人去完成的,如果流程启动以后,当前登录用户碰巧可以做这个task,那么当前用户就会受到一个Inbox的task,点开Task,Inbox有了。如果流程定义的时候task是给一个group的话,那么就说明这个group的人都可以完成这个任务,如果当前用户想做的话,就claim它。

-----------------------------------------------------------------------------------------------------------------------

实际项目运用中,我们不会把数据存在H2上面的,一般Oracle,mysql。现在我们拿mysql说事。也很简单,首先在你的mysql中建立一个数据库,比如名为activiti吧,不需要建立表的,只要空数据库。

在eclipse上建立一个Java Project,导入{activiti}\setup\files\dependencies\libs.engine.runtime.txt中列出的jar包,另外加一个mysql的驱动包,由于下面activiti.cfg.xml的配置,这里需要用到commons-dbcp和commons-pool包,也要加进来,就可以啦。

然后在工程的源文件目录下新建一个activiti.cfg.xml,内容: 


<?xml version="1.0" encoding="UTF-8"?>  
  
<beans xmlns="http://www.springframework.org/schema/beans"   
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
       xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd">  
         
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >  
      <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
      <property name="url" value="jdbc:mysql://localhost:3306/activiti" />  
      <property name="username" value="root" />  
      <property name="password" value="leonsu" />  
      <property name="defaultAutoCommit" value="false" />  
    </bean>  
      
    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">  
        <property name="databaseSchemaUpdate" value="true"/>  
  
        <!--  
        <property name="jdbcUrl" value="jdbc:h2:tcp://localhost/activiti" />  
        <property name="jdbcDriver" value="org.h2.Driver" />  
        <property name="jdbcUsername" value="sa" />  
        <property name="jdbcPassword" value="" />  
        -->  
  
        <property name="dataSource" ref="dataSource" />  
  
        <property name="jobExecutorActivate" value="true" />  
    </bean>  
  
</beans>  

另外org.activiti.db.create下面有sql文件,你觉得这样麻烦,想自己跑这些sql语句也可以的。不过,新建上面这个Java Project很有用,下面的学习有用的。

这些sql文件跑完只有表结构,都是空表。

你可能感兴趣的:(Activiti学习笔记(引擎配置文件activiti.cfg.xml,不是spring配置文件))