四、Activiti 的 hello world
4.1 基本框架的搭建
安装完activiti插件后。可以创建activiti工程
File —> new —> other... 选择Activiti 下的Activiti Project
输入工程名称,activiti-practice-01 完成创建。创建完成的项目是一个包含pom.xml的java工程,需要转换成maven工程:
完成转换后会自动添加maven依赖包的添加,但是这里默认是没有mysql的驱动包的,需要在pom.xml中添加依赖:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.18</version> </dependency>
添加完成后ALT+F5进行update maven。至此,基本框架搭建完毕,可以开始撸代码了。
4.2 通过代码创建ProcessEngine
@Test public void testProcessEngineCreate() { //用代码创建processEngine ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration .createStandaloneProcessEngineConfiguration(); //创建单例的processEngine配置对象 //开始配置数据库连接 processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver"); processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/activitipractice?userUnicode=ture&characterEncoding=utf8"); processEngineConfiguration.setJdbcUsername("root"); processEngineConfiguration.setJdbcPassword("mysql"); //没有表的话自动创建表 processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); //通过配置对象构建processEngine对象 ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine(); System.out.println(processEngine); }
4.3 通过配置文件创建ProcessEngine
通过官方文档可知,配置文件的名称是:activiti.cfg.xml
内容如下:
<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="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"> <property name="jdbcUrl" value="jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000" /> <property name="jdbcDriver" value="org.h2.Driver" /> <property name="jdbcUsername" value="sa" /> <property name="jdbcPassword" value="" /> <property name="databaseSchemaUpdate" value="true" /> <property name="asyncExecutorActivate" value="false" /> <property name="mailServerHost" value="mail.my-corp.com" /> <property name="mailServerPort" value="5025" /> </bean> </beans>
以上是官方文档里面内容,我们需要修改数据库为myslq(注意,从官方文档复制下来后不要加空格或者回车等进行格式的修饰,否则可能出现cvc-complex-type.2.3: Element 'beans' cannot have character [children]这样的错误)。修改完成后如下:
<?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="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activitipractice?userUnicode=ture&charactorEncoding=utf8" /> <property name="jdbcDriver" value="com.mysql.jdbc.Driver" /> <property name="jdbcUsername" value="root" /> <property name="jdbcPassword" value="mysql" /> <property name="databaseSchemaUpdate" value="true" /> </bean> </beans>
重新写一个测是方法,这次简单得多,能够正确得到processEngine
@Test public void testProcessEngineCreateByXml() { //用配置文件创建processEngine ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml").buildProcessEngine(); System.out.println(processEngine); }
完成后顺便加上log4j的配置文件,从以前项目里面拷贝一个过来即可。
4.3 创建hello world 流程
在diagram文件夹下右击,new-other-acitiviti-activiti diagram :
完成后可以得到流程画板,画上开始节点,userTask节点,结束节点。