activiti入门开发及部署
一、开发环境调试
1.安装sdkman使用于管理java环境
curl -s “https://get.sdkman.io” | bash
source “$HOME/.sdkman/bin/sdkman-init.sh”
sdk version
2.安装jdk环境
sdk install java 8u161-oracle
java -version
echo $JAVA_HOME
3.下载tomcat
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.50/bin/apache-tomcat-8.0.50.zip
tar -zxvf apache-tomcat-8.0.50.zip
./apache-tomcat-8.0.50/bin/startup.sh
4.部署activiti
wget https://github.com/Activiti/Activiti/releases/download/activiti-6.0.0/activiti-6.0.0.zip
tar -zxvf activiti-6.0.0.zip
cp activiti-6.0.0/wars/activiti-admin.war apache-tomcat-8.0.50/webapps
cd apache-tomcat-8.0.50/bin
./startup.sh
5.这样就启动tomcat并且部署了activiti
查看网址:http://localhost:8080/activiti-app
账号admin 密码test
二、Activiti6.0快速体验
1.流程参加者
2.流程设计
3.http://localhost:8080/activiti-app打开网址登陆进去
点击identity manager创立使用户
4.kickstart APP创立一个流程
点击Create Process。输入流程信息
5.创立流程并且绑定使用户。保存并关闭编辑器。
6.创立一个app,并且管理流程
点击Apps后,新添加板块。
保存并且发布
7.进入管理员界面
http://localhost:8080/activiti-admin/#/login admin admin
点击Configuration
点击edit Activiti Rest endpoint
三、源码下载
进入github activiti主页,点击fork,到自己的github中。
git clone git@github.com:自己的账号/Activiti.git
cd activiti
git checkout -b activit-study activiti-6.0.0
mvn clean test-compile
四、入门小demo
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import java.util.Scanner;
- import org.activiti.engine.FormService;
- import org.activiti.engine.ProcessEngine;
- import org.activiti.engine.ProcessEngineConfiguration;
- import org.activiti.engine.RepositoryService;
- import org.activiti.engine.RuntimeService;
- import org.activiti.engine.TaskService;
- import org.activiti.engine.form.FormProperty;
- import org.activiti.engine.form.TaskFormData;
- import org.activiti.engine.impl.form.DateFormType;
- import org.activiti.engine.impl.form.StringFormType;
- import org.activiti.engine.repository.Deployment;
- import org.activiti.engine.repository.DeploymentBuilder;
- import org.activiti.engine.repository.ProcessDefinition;
- import org.activiti.engine.runtime.ProcessInstance;
- import org.activiti.engine.task.Task;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import com.google.common.collect.Maps;
- import lombok.extern.slf4j.Slf4j;
- @Slf4j
- @SpringBootApplication
- public class DemoMain {
- public static void main(String[] args) {
- //创立引擎
- ProcessEngine processEngine = getProcessEngine();
- //部署流程
- ProcessDefinition processDefinition = getProcessDefinition(processEngine);
- //启动运行流程
- ProcessInstance processInstance = startProcess(processEngine, processDefinition);
- //解决流程任务
- doTask(processInstance, processEngine);
- }
- private static void doTask(ProcessInstance processInstance, ProcessEngine processEngine) {
- Scanner scanner = new Scanner(System.in);
- while(processInstance != null && !processInstance.isEnded()) {
- TaskService taskService = processEngine.getTaskService();
- List list = taskService.createTaskQuery().list();
- for (Task task : list) {
- log.info(“待解决任务:{}”, task.getName());
- FormService formService = processEngine.getFormService();
- TaskFormData taskFormData = formService.getTaskFormData(task.getId());
- List formProperties = taskFormData.getFormProperties();
- Map variables = Maps.newHashMap();
- for (FormProperty formProperty : formProperties) {
- String line = null;
- if(StringFormType.class.isInstance(formProperty.getType())) {
- log.info(“请输入 {} ?”, formProperty.getName());
- line = scanner.nextLine();
- variables.put(formProperty.getId(), line);
- } else if(DateFormType.class.isInstance(formProperty.getType())) {
- log.info(“请输入 {} ? 格式(yyyy-MM-dd)”, formProperty.getName());
- line = scanner.nextLine();
- SimpleDateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd”);
- try {
- Date date = dateFormat.parse(line);
- variables.put(formProperty.getId(), date);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- } else {
- log.info(“类型不支持”);
- }
- log.info(“您输入的内容是[{}]”,line);
- }
- taskService.complete(task.getId(), variables);
- processInstance = processEngine.getRuntimeService()
- .createProcessInstanceQuery()
- .processInstanceId(processInstance.getId())
- .singleResult();
- }
- log.info(“待解决任务数量:{}”, list.size());
- scanner.close();
- }
- }
- private static ProcessInstance startProcess(ProcessEngine processEngine, ProcessDefinition processDefinition) {
- RuntimeService runtimeService = processEngine.getRuntimeService();
- ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinition.getId());
- log.info(“启动流程 {}”, processInstance.getProcessDefinitionKey());
- return processInstance;
- }
- private static ProcessDefinition getProcessDefinition(ProcessEngine processEngine) {
- RepositoryService repositoryService = processEngine.getRepositoryService();
- DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
- deploymentBuilder.addClasspathResource(“second_approve.bpmn”);
- Deployment deployment = deploymentBuilder.deploy();
- String deploymentId = deployment.getId();
- ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
- .deploymentId(deploymentId)
- .singleResult();
- log.info(“流程定义文件 {}, 流程ID {}”, processDefinition.getName(), processDefinition.getId());
- return processDefinition;
- }
- private static ProcessEngine getProcessEngine() {
- ProcessEngineConfiguration cfg = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();
- ProcessEngine processEngine = cfg.buildProcessEngine();
- String name = processEngine.getName();
- String version = processEngine.VERSION;
- log.info(“流程引擎名称:{},版本:{}”, name, version);
- return processEngine;
- }
- }
五、打包
mvn package
cd target
java jar xx.jar
一、开发环境调试
1.安装sdkman使用于管理java环境
curl -s “https://get.sdkman.io” | bash
source “$HOME/.sdkman/bin/sdkman-init.sh”
sdk version
2.安装jdk环境
sdk install java 8u161-oracle
java -version
echo $JAVA_HOME
3.下载tomcat
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.50/bin/apache-tomcat-8.0.50.zip
tar -zxvf apache-tomcat-8.0.50.zip
./apache-tomcat-8.0.50/bin/startup.sh
4.部署activiti
wget https://github.com/Activiti/Activiti/releases/download/activiti-6.0.0/activiti-6.0.0.zip
tar -zxvf activiti-6.0.0.zip
cp activiti-6.0.0/wars/activiti-admin.war apache-tomcat-8.0.50/webapps
cd apache-tomcat-8.0.50/bin
./startup.sh
5.这样就启动tomcat并且部署了activiti
查看网址:http://localhost:8080/activiti-app
账号admin 密码test
二、Activiti6.0快速体验
1.流程参加者
2.流程设计
3.http://localhost:8080/activiti-app打开网址登陆进去
点击identity manager创立使用户
4.kickstart APP创立一个流程
点击Create Process。输入流程信息
5.创立流程并且绑定使用户。保存并关闭编辑器。
6.创立一个app,并且管理流程
点击Apps后,新添加板块。
保存并且发布
7.进入管理员界面
http://localhost:8080/activiti-admin/#/login admin admin
点击Configuration
点击edit Activiti Rest endpoint
三、源码下载
进入github activiti主页,点击fork,到自己的github中。
git clone git@github.com:自己的账号/Activiti.git
cd activiti
git checkout -b activit-study activiti-6.0.0
mvn clean test-compile
四、入门小demo
五、打包
mvn package
cd target
java jar xx.jar

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » activiti入门开发及部署