Activiti之一:部署activiti-admin、activiti-app、activiti-rest

2023-05-16

文章目录

  • 各组件版本
  • 下载
  • 部署
    • 将war包放入tomcat
  • 访问

在网上查找activiti相关资料,发现对于activiti-rest的使用很少,而官网对于api的支持还是比较多的,如果考虑的是一个纯粹的工作流环境:

  • 使用activiti-app来绘制流程图、部署
  • 可以使用activiti-rest作为服务端,用rest api调用以发起流程、完成任务、查看表单等。

通过上述操作,理论上可以不需要java代码编写,就可以完成工作流的集成,这也是后面计划进行的,动态流程+动态表单的一个工作计划。目标是通过activiti+mongodb,简化业务流程编码,减少复杂数据库设计工作。

各组件版本

  • Activiti6.0
  • tomcat8(在libs里增加mysql-connector-java-5.1.30.jar,因为activiti war包没有包含mysql驱动)
  • mysql:5.7.37(不要使用mysql8,不要使用mysql5.6,会有问题)
  • jdk:1.8

下载

  • Activiti6.0

    官网下载:https://www.activiti.org/get-started

    下载后,会在里面有3个war包,放到tomcat8的webapps里面,直接启动,会自动解压。解压后,关闭tomcat,进行mysql连接配置

  • tomcat、mysql和jdk下载安装

部署

将war包放入tomcat

上一节,已经将下载的activiti的3个war包放到tomcat8的webapps下直接启动,会自动解压。解压后,关闭tomcat,进行mysql连接配置

  • 遇到问题1:
Malformed database URL, failed to parse the main URL sections.

这个一般是数据库连接不对。这里把正确的数据库配置写下来。

activiti-admin:这个包,不要改任何东西,因为最终它是通过api跟activiti-app交互的,所以无需配置db,任何东西都不要改。

activiti-app: 修改路径在/opt/apache-tomcat-8.5.63-all/webapps/activiti-app/WEB-INF/classes/META-INF/activiti-app/activiti-app.properties

完整的配置信息如下:

#
# SECURITY
#
security.rememberme.key=testkey

#
# DATABASE
#

#datasource.driver=org.h2.Driver
#datasource.url=jdbc:h2:mem:activiti;DB_CLOSE_DELAY=-1

datasource.driver=com.mysql.jdbc.Driver
#datasource.driver=com.mysql.cj.jdbc.Driver
datasource.url=jdbc:mysql://172.18.102.152:3306/activiti6ui?useUnicode=true&useSSL=false&serverTimezone=UTC

datasource.username=root
datasource.password=example

#hibernate.dialect=org.hibernate.dialect.H2Dialect
hibernate.dialect=org.hibernate.dialect.MySQLDialect
#hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
#hibernate.dialect=org.hibernate.dialect.SQLServerDialect
#hibernate.dialect=org.hibernate.dialect.DB2Dialect
#hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

# 
# EMAIL
# 

#email.enabled=true
#email.host=localhost
#email.port=1025
#email.useCredentials=false
#email.username=
#email.password=

# The base url that will be used to create urls in emails.
#email.base.url=http://localhost:9999/activiti-app

#email.from.default=no-reply@activiti.alfresco.com
#email.from.default.name=Activiti
#email.feedback.default=activiti@alfresco.com
        
#
# ACTIVITI
#

activiti.process-definitions.cache.max=500

#
# DEFAULT ADMINISTRATOR ACCOUNT
#

admin.email=admin
admin.password=test
admin.lastname=Administrator

admin.group=Superusers

# The maximum file upload limit. Set to -1 to set to 'no limit'. Expressed in bytes
file.upload.max.size=104857600

# For development purposes, data folder is created inside the sources ./data folder
contentstorage.fs.rootFolder=data/
contentstorage.fs.createRoot=true
contentstorage.fs.depth=4
contentstorage.fs.blockSize=1024

Activiti-rest: 修改路径在/opt/apache-tomcat-8.5.63-all/webapps/activiti-rest/WEB-INF/classes/db.properties

完整的配置信息如下:

#db=h2
#jdbc.driver=org.h2.Driver
#jdbc.url=jdbc:h2:mem:activiti;DB_CLOSE_DELAY=-1
#jdbc.username=sa
#jdbc.password=

db=MySQL
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://172.18.102.152:3306/activiti6ui?useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=example

  • 问题2:

使用mysql5.6.37

Index column size too large. The maximum column size is 767 bytes

这个是无解的,因为无法修改war包源码里面activiti建表语句(我没找到~),所以改不了。还是建议升级到mysql 5.7

  • 问题3:

mysql5.7默认是区分大小写的,要设置为不区分大小写。否则会报错找不到数据库表。使用命令show VARIABLES like 'lower%';查看,需要lower_case_table_names的值为1,正确结果如下:

我这里是使用的docker建的mysql容器,命令是:

// 创建容器(忽略大小写)
docker run --name mysq.db -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d -v /home/mysql/:/var/lib/mysql mysql --lower_case_table_names=1
  • 问题4:

使用mysql8,这里验证,启动activiti-admin和activiti-app没问题,但是activiti-rest起不来,后台catalina.out看不到有意义的报错,放弃使用mysql8。

  • 问题5:

在activiti-app创建流程图的时候,保存带有中文的流程失败,后台报错如下。

SQLException: Incorrect string value: '\xE5\x8F\x91\xE8\xB5\xB7...'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aniiylmh-1663230068595)(/Users/kelvin/Library/Application Support/typora-user-images/image-20220915150151664.png)]

解决方案:数据库连接上,不要指定characterEncoding=utf-8,指定了反而会报错。正确样例:

datasource.url=jdbc:mysql://172.18.102.152:3306/activiti6ui?useUnicode=true&useSSL=false&serverTimezone=UTC

访问

  • activiti-admin

    http://172.18.102.134:8080/activiti-admin

    admin/admin

  • activiti-app

    http://172.18.102.134:8080/activiti-app

    admin/test

  • activiti-rest

    访问一个get类型的查询接口:http://172.18.102.134:8080/activiti-rest/service/repository/deployments

    账号密码:kermit/kermit

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Activiti之一:部署activiti-admin、activiti-app、activiti-rest 的相关文章

  • Flask 无法识别两个 URL 参数

    我正在尝试将两个参数发送到使用 Flask 路由的 URL If I do curl i http 127 0 0 1 5000 api journeys count startStationName Hansard 20Mews 20Sh
  • 用于分享帖子的 Yammers REST API

    我想使用 REST API 从我的业务应用程序共享帖子 不是发布新消息 而是共享现有帖子 有谁知道要使用哪个端点以及如何实现它 当您使用 Yammer API 创建新帖子时 请将参数 shared message id 与要共享的消息的 m
  • 如何使用 Docusign 的 REST API 预填充从模板创建的信封中的字段?

    注意 我使用的是 经典 体验 因为新界面无法让模板为未来的签名者设置必填字段 工作流程 有一个包含一堆字段的模板 使用 API 从模板创建一个信封 文档 并指定一个新用户进行签名 该文档将成为注册服务的协议 创建新角色 在模板上将 role
  • 对过期会话进行休息调用:HTTP 401 响应导致浏览器显示登录窗口

    我编写了一个 HTML 5 应用程序 它使用 AngularJS 并与在 Tomcat 上运行的 Java REST 后端进行交互 我使用 Spring Security 来处理登录和安全性 当用户进入网站时 他将被转发到登录页面 该页面创
  • WCF Rest 服务还是 ASP.NET MVC 控制器/操作?

    如果有人能提供一些关于哪种更有益的见解 我将不胜感激 WCF 中的 RESTful 服务可以提供与 ASP Net MVC 控制器相同的功能 即可以使用控制器 操作适当地形成 URL 使用其中一种比另一种有真正的好处吗 WCF休息服务将提供
  • 如何在WCF Rest服务中从流上传图像

    我正在尝试创建 wcf 服务 该服务将上传 pdf doc xls 图像等文件 但 pdf txt 文件正在上传并正确打开 但是当我尝试上传图像文件时 文件正在上传 但是图像不可见 OperationContract WebInvoke M
  • magento 删除管理菜单项

    在magento中 是否可以删除管理中的菜单项 我有一个新模块 并将评论和评级拉到一个新部分 我不反对将它们也留在目录部分 但如果可能 并且干净 我想将其从那里删除 将下一行添加到扩展 config xml 文件
  • Web API 和 ASP MVC 之间的主要区别是什么

    标题确实总结了我的问题 我已经使用了这两种技术 但我不确定其中一种技术与另一种技术有何显着不同 在本质上 在设计一个宁静的 Web 应用程序时 选择 ASP MVC 或 Web API 时应考虑哪些标准和 或指南 Purpose ASP N
  • 使用 https 的 Java Jersey RESTful Web 服务

    我是 Java EE 的新手 正在开发一个 RESTful API 其中每个 API 调用用户都会发送编码的凭据 我的问题是如何通过默认的 http 实现 https 协议并确保我的连接安全 我正在使用 Jersey Restful Web
  • Mandrill 通过 REST API 作为单独的消息发送给多人

    我正在尝试使用山魈发送邮件 问题是 当我将多个收件人添加到 收件人 参数时 它会多次向 收件人 列表中的所有收件人发送同一封邮件 我期望将相同的邮件单独发送给列表中的每个人 我错过了什么吗 key app key template name
  • Delphi XE5 REST/Android 客户端“会话已过期”

    我有一个REST Server与Android Client 都在Deplhi Xe5 Android客户端成功连接Rest服务器 在我的服务器中我有一个TDSHttpWebDispatcher with SessionTimeout 12
  • 如何限制 JSON 访问?

    我有一个 Web 应用程序 可以从新创建的 JSON API 中提取数据 我的静态 HTML 页面通过 JavaScript 从静态 HTML 页面动态调用 JSON API 如何限制对 JSON API 的访问 以便只有我 我的网站 可以
  • 微服务、amqp 和服务注册/发现

    我正在研究微服务架构 实际上我想知道一些事情 我非常同意使用 返回 服务发现来在基于 REST 的微服务上发出请求 我需要知道发出请求的服务 或至少是服务器集群的前端 在哪里 因此在这种情况下能够发现 ip port 是有意义的 但我想知道
  • Spring REST 控制器中带有 RequestBody 的 XML/JSON POST

    我正在使用 Spring 3 0 创建一个 RESTful 网站 我在用ContentNegotiatingViewResolver以及 HTTP 消息转换器 例如MappingJacksonHttpMessageConverter对于 J
  • 瞬态 REST 表示

    假设我有一个 RESTful 超文本驱动的服务 用于模拟冰淇淋店 为了帮助更好地管理我的商店 我希望能够显示每日报告 列出所售每种冰淇淋的数量和美元价值 看来这种报告功能可以作为名为 DailyReport 的资源公开 DailyRepor
  • Spring RESTful控制器方法改进建议

    我是 Spring REST 和 Hibernate 的新手 也就是说 我尝试组合一个企业级控制器方法 我计划将其用作未来开发的模式 您认为可以通过哪些方法来改进 我确信有很多 RequestMapping value user metho
  • symfony api 平台深度

    到目前为止 我们一直在 Symfony Doctrine 和 Serializer 深度方面苦苦挣扎 我希望能够使用 Symfony 提供一级深度的 JSON REST API 从而允许我直接从视图管理我的 外键 和关系逻辑 GET peo
  • 自托管 WCF REST 服务和基本身份验证

    我创建了一个自托管的 WCF REST 服务 带有 WCF REST Starter Kit Preview 2 中的一些额外内容 这一切工作正常 我现在正在尝试向服务添加基本身份验证 但我在 WCF 堆栈中遇到了一些相当大的障碍 这阻止了
  • 最适合“正在进行的作业”的 HTTP 状态代码

    向客户端提供的最合适的 HTTP 状态代码是什么 表示 您的请求很好 但仍在进行中 请稍后在完全相同的位置回来查看 例如 假设客户端提交初始请求以启动繁重的查询 服务器立即返回一个 URL 客户端可以定期轮询该 URL 以获取结果 如果客户
  • 什么时候使用Jersey的@Singleton注解?

    我正在开发 RESTful Web 服务 并在阅读泽西岛时文档 https jersey java net documentation latest jaxrs resources html d0e1851我发现了一个注释 Singleto

随机推荐

  • 高效工作学习方法四则

    开始做比准备做更重要 xff0c 不要等到条件完全具备才开始 完成比完美更重要 xff0c 尤其是一开始不要最求完美 xff0c 会严重影响完成进度 一个不能完成的工作连完美的前提都丧失了 去做精力管理而不是时间管理 按精力安排工作而不是按
  • 《XXX重点项目质量保证措施》文档模板

    质量保障措施 研制过程中的质量控制在研制过程中 xff0c 不随意更改技术要求 xff0c 对任何技术要求更改 xff0c 都会与用户单位协商 xff0c 得到认可后方可实施 在研制过程中 xff0c 对影响技术性能的关键指标需外协时 xf
  • VDT (virtual device on tcp) 基于tcp通信的虚拟设备工具集

    概要 VDT virtual device on tcp 基于tcp通信的虚拟设备工具集 DOT device on tcp 创建虚拟字符设备 xff0c 通过tcp收发来读写 DTT device to tcp 打开字符设备 xff0c
  • debian11 安装后必备配置

    debian11 安装后必备配置 运行环境 xff1a PVE v7 2 11 CT容器 系统版本 xff1a Debian 11 standard 11 3 1 amd64 tar zst 启动信息 Debian GNU Linux sp
  • RealEvo许可证协议

    一直使用RealEvo V4 0 0版 xff0c 今天因license到期 xff0c 索性一同安装下新版的IDE 当前最新RealEvo IDE版本为 V5 0 5 xff0c V5 0 0 V5 0 3版本存在一些bug xff0c
  • SylixOS该怎么学

    个人整理的SylixOS学习路线和方法 xff0c 会不定期补充 欢迎大家给出建议
  • sparc-sylixos-elf-gcc平台选项

    sparc sylixos elf gcc exe target help The following options are target specific span class token parameter variable m32
  • Ubuntu18.04 方便好用的截图工具

    安装flameshot 下载地址 xff1a https github com lupoDharkael flameshot 安装命令 xff1a sudo apt get install flameshot 配置快捷键 设置 gt 设备
  • SPARC体系下硬浮点编译故障分析

    问题说明 之前extension版的app工程都是用的软浮点编译的 xff0c 在增加姿控算法库后 xff0c 统一改用硬浮点运行 xff0c 发现之前一个浮点数解析不对了 xff0c 排查发现和工程编译选项有关 xff0c 为软浮点时正常
  • SylixOS下DNS配置

    SylixOS下支持DNS xff08 域名解析 xff09 服务 xff0c 既可以通过域名地址来访问网络地址 测试 先进行一个域名解析的测试 xff1a 由上图可知 xff0c 在其他网络配置正确的情况下 xff0c SylixOS可以
  • SylixOS 教培官网上线

    4月末翼辉创建的包括SylixOS教培在内的文档中心已上线 今天SylixOS教培又上线了 Shell 命令手册 和 IDE 使用手册 方便大家学习和查阅SylixOS相关知识点 SylixOS教培官网 https docs acoinfo
  • SylixOS App 运行时出现“vprocRun() error: can not find entry function.”错误提示原因及解决方法

    针对只使用静态库 xff0c 不使用共享库的业务场景 xff0c 如果libsylixos Output目录下的 libvpmpdm so文件被删除 xff0c SylixOS App程序将自动连接libvpmpdm a文件 xff0c 这
  • 【无标题】

    环境变量 xff08 environment variables xff09 是一组键值对 xff08 key 61 value xff09 列表 xff0c 每一项键值对为一个环境变量 xff0c 分环境变量名和环境变量值 xff0c 两
  • c#爬虫-1688官网自动以图搜图

    背景 在1688有个功能 xff0c 就是上传图片 xff0c 就可以找到类似的商品 如下 网址 xff1a https www 1688 com 这时候 xff0c 我们可以使用程序来代替 xff0c 大批量的完成图片上传功能 实现思路
  • 关于大端序和小段序

    Most Significant Byte 指多字节序列中具有最大权重的 字节 wiki中的解释 xff1a Most Significant Bit 是指一个n位 二进制数字中的n 1位 xff0c 具有最高的权值 与之相反的称之为最低有
  • 使用Project进行项目管理

    文章目录 1 Project可以做哪些 xff1f 1 1 功能清单1 2 本文将会涉及到的内容 2 常见操作2 1 设置 xff1a 自动任务2 2 设置 xff1a 任务的时间格式2 3 日历设置 xff1a 项目开始时间2 4 日历设
  • 进销存小程序(一)项目整体功能和设计

    文章目录 1 设计目标2 功能点说明2 1 首页2 2 登陆2 2 1 微信用户和当前用户绑定的过程2 2 2 获取用户信息 2 3 创建店铺2 4 加入店铺2 5 创建商品2 6 商品信息修改2 7 入库管理2 8 出库管理2 9 库存盘
  • Tomcat的appBase,docBase,path关系

    文章目录 1 结论在最前面2 server xml关于appbase和context配置2 1 war包在webapps目录下 xff1b appbase 61 34 webapps 34 xff1b 无context配置2 2 war包在
  • ubuntu 18.04 LTS 安装搜狗输入法

    首先安装 fcitx xff0c 再安装搜狗输入法 一 检测是否安装fcitx 首先检测是否有 fcitx xff0c 因为搜狗拼音依赖fcitx 在终端中输入 fcitx xff0c 检查 fcitx 是否已有 fcitx 提示 xff1
  • Activiti之一:部署activiti-admin、activiti-app、activiti-rest

    文章目录 各组件版本下载部署将war包放入tomcat 访问 在网上查找activiti相关资料 xff0c 发现对于activiti rest的使用很少 xff0c 而官网对于api的支持还是比较多的 xff0c 如果考虑的是一个纯粹的工