搭建Activiti-5.21.0工作流服务器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

搭建Activiti-5.21.0⼯作流服务器
1、直接部署
docker run --name='activiti' -it --rm -p 8080:8080 -v /var/run/docker.sock:/run/docker.sock -v $(which docker):/bin/docker eternnoir/activiti:latest
注:此时使⽤内存中的H2数据库。

2、Tomcat服务器管理
http://localhost:8080/
username: admin
password: admin
3、访问activiti
http://localhost:8080/activiti-explorer/
username: kermit
password: kermit
4、连接外部数据库
4.1 连接mysql容器
docker pull sameersbn/mysql
mkdir -p /opt/mysql/data
docker run --name=mysql -d -e 'DB_NAME=activiti_production' -e 'DB_USER=activiti' -e 'DB_PASS=password' -v /opt/mysql/data:/var/lib/mysql sameersbn/mysql 注:此镜像的mysql数据库版本为mysql-5.5.54
docker run --name=activiti -d --net=host --link mysql:mysql eternnoir/activiti
tomcat版本:8.0.38
tomcat⽬录:/opt/tomcat
activiti版本:5.21.0
activiti⽬录:/opt/activiti
4.2 连接mysql
创建数据库及授权⽤户访问:
CREATE USER 'activiti'@'%.%.%.%' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS `activiti_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
GRANT ALL PRIVILEGES ON `activiti_production`.* TO 'activiti'@'%.%.%.%';
运⾏容器:
docker run --name=activiti -d --net=host -e 'DB_HOST=localhost' -e 'DB_NAME=activiti_production' -e 'DB_USER=activiti' -e 'DB_PASS=password' eternnoir/activiti activiti连接数据库配置⽂件路径:
/opt/tomcat/webapps/activiti-explorer/WEB-INF/classes/db.properties
/opt/tomcat/webapps/activiti-rest/WEB-INF/classes/db.properties
修改内容如下:
db=mysql
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/activiti_production?useUnicode=true&characterEncoding=utf-8
ername=activiti
jdbc.password=password
重启容器使配置⽣效。

5、可⽤配置参数
TOMCAT_ADMIN_USER: Tomcat admin user name. Defaults to admin.
TOMCAT_ADMIN_PASSWORD: Tomcat admin user password. Defaults to admin.
DB_HOST: The database server hostname. Defaults to \``.
DB_PORT: The database server port. Defaults to 3306.
DB_NAME: The database database name. Defaults to \``.
DB_USER: The database database user. Defaults to \``.
DB_PASS: The database database password. Defaults to \``.
6、Eclipse插件
Name: Activiti BPMN 2.0 designer
Location:
安装使⽤⼿册:
7、集成LDAP
7.1 ⽤法
要想在你的项⽬中集成LDAP,在pom.xml中添加如下依赖:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-ldap</artifactId>
<version>latest.version</version>
</dependency>
7.2 ⽤例
集成LDAP⽬前有两⼤⽤例:
通过IdentityService进⾏认证。

⽐如,使⽤Activiti Explorer 通过LDAP登录。

获得⽤户的组。

这在查询⽤户可以看到哪些任务时⾮常重要。

(⽐如,任务分配给⼀个候选组)。

7.3 ⽰例
<bean id="processEngineConfiguration" class="...SomeProcessEngineConfigurationClass">
...
...
<property name="configurators">
<list>
<bean class="org.activiti.ldap.LDAPConfigurator">
<!-- Server connection params -->
<property name="server" value="ldap://localhost" />
<property name="port" value="33389" />
<property name="user" value="uid=admin, ou=users, o=activiti" />
<property name="password" value="pass" />
<!-- Query params -->
<property name="baseDn" value="o=activiti" />
<property name="queryUserByUserId" value="(&(objectClass=inetOrgPerson)(uid={0}))" />
<property name="queryUserByFullNameLike" value="(&(objectClass=inetOrgPerson)(|({0}=*{1}*)({2}=*{3}*)))" /> <property name="queryGroupsForUser" value="(&(objectClass=groupOfUniqueNames)(uniqueMember={0}))" /> <!-- Attribute config -->
<property name="userIdAttribute" value="uid" />
<property name="userFirstNameAttribute" value="cn" />
<property name="userLastNameAttribute" value="sn" />
<property name="groupIdAttribute" value="cn" />
<property name="groupNameAttribute" value="cn" />
</bean>
</list>
</property>
</bean>
7.4 为Explorer集成LDAP
把上⾯的LDAP配置添加到activiti-standalone-context.xml中。

把activiti-ldap jar放到WEB-INF/lib⽬录下
删除demoDataGenerator bean,因为它会尝试插⼊数据(集成LDAP不允许这么做)
将下⾯的配置添加到activiti-ui.context的explorerApp bean中:
...
...
<property name="adminGroups">
<list>
<value>admin</value>
</list>
</property>
<property name="userGroups">
<list>
<value>user</value>
</list>
</property>
请使⽤你⾃⼰的配置替换其中的值。

需要⽤到的数据是组的id(通过groupIdAttribute配置)。

上述配置会让'admin'组下的所有⽤户都成为Activiti Explorer的管理员,⽤户组也⼀样。

所有不匹配的组都会当做“分配”组,这样任务就可以分配给他们。

7、参考
三分钟了解Activity⼯作流:
API⽂档:
使⽤⼿册:
中⽂使⽤⼿册:。

相关文档
最新文档