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 的相关文章

  • 向 JMeter REST 请求添加身份验证

    我今天花了大部分时间试图让它发挥作用 但仍然没有成功 我有一个简单的案例 我只想向我的网络服务发送一个 GET 请求 但无论我做什么 我都无法对其进行身份验证 我尝试过授权管理器 Cookie 管理器 标头管理器的各种组合 但无济于事 我把
  • 如何保护 RESTful Web 服务的安全?

    我必须实施安全RESTful Web 服务 https www ibm com developerworks webservices library ws restful 我已经使用谷歌做了一些研究 但我陷入困境 Options TLS H
  • 使用 authlogic_api 进行 Rails REST API 访问

    我正在为 Steam 游戏编写 Rails 后端 API 该游戏只能通过 REST 调用访问 因此不需要特定于用户的身份验证 我正在努力实施authlogic api 插件 http github com phurni authlogic
  • WCF 服务契约将被 XML 和 Json 序列化

    我如何创建要加入的服务合同XmlSerializer 格式也WebMessageFormat Json在 WCF RESTful 服务中 我需要的是从 ASP Net 1 1 的代码后面调用 CallADSWebMethod 操作契约 该契
  • 为移动应用程序创建 API - 身份验证和授权

    Overview 我正在寻找为我的应用程序创建一个 REST API 最初 主要目的是供移动应用程序 iPhone Android Symbian 等 使用 我一直在研究基于 Web 的 API 的身份验证和授权的不同机制 通过研究其他实现
  • 在 Hyperledger Composer REST API 上使用 Passport-http

    我想知道是否可以使用passport http来保护由composer rest server生成的Hyperledger Composer的REST API 以及什么是导出 COMPOSER PROVIDERS 配置 这个想法是使用先前生
  • 从 Office 365 日历获取所有事件

    我需要获取 Office 365 日历中的所有事件 当前 GET 请求 https graph microsoft com v1 0 users https graph microsoft com v1 0 users userPrinci
  • 在 C# 控制台应用程序中使用 HttpClient 使用 WEB API

    我使用 MySQL 数据库在 Visual Studio 2015 中创建了一个 Web API API 运行完美 所以我决定做一个控制台client http www c sharpcorner com article web api w
  • 如何使用 JAXRS 和 JAXB 设置 Restlet 服务器?

    我一直在互联网上查找 试图找到如何执行此操作的示例 我只是想设置一个 REST 服务器 它自动将对象序列化到 XML 或从 XML 序列化对象 我只是想提供一个服务器 以便于用户登录 注销以及仅在用户登录后访问 XML 对象列表 启动并运行
  • 来自复杂对象的 spring RestTemplate POST 参数

    我正在尝试使用 postForObject 方法使用restTemplate 来测试我们的REST 服务 单元测试 Test public void testPostOrder String url BASE URL orders Orde
  • 如何在没有 baseUrl 的情况下设置 Retrofit

    我的 apiPath 是完全动态的 我有包含 ipAddress 和 SSLprotocol 等字段的项目 基于它们我可以构建我的网址 private String urlBuilder Server server String proto
  • PHP:在 CURL GET 调用中使用 API 密钥

    我看过关于使用 api 密钥在curl 中验证 post 调用的帖子 我有一个 GET 调用 需要 apikey 进行授权 即请求必须具有包含 apiKey 的授权标头 我已经获得了 api 密钥并尝试将其用于 GET 调用
  • 如何在 Codeigniter 中我自己的控制器中生成 API 密钥

    只是想提一下 我确实是 API 开发 概念 结构 最佳实践 方面的新手 我对它一点也不熟悉 所以如果您发现我正在使用 Phil 请原谅我可悲的愚蠢问题Sturgeon 的 REST API 服务器 Curl 库和 REST API 客户端这
  • 如何从 Android 调用 RESTful 方法?

    我尝试了两种不同的方法来从 Android 调用简单的 REST 方法 所述 REST 方法 适用于其他客户端 仅返回一个 int val 例如 17 以下两次尝试都是基于我在网上找到的代码 有一种是这样的 公共无效onFetchBtnCl
  • 如何获取数组作为 GraphQL 解析器的输入

    我想得到一个字符串数组ids查询变量中的参数并在我的解析器中使用它 下面是我的代码 People resolver ts import Resolver Query Mutation Args from nestjs graphql imp
  • 在 Postman 中连接 ECONNREFUSED

    我试图通过邮递员测试我的 REST API 但收到以下错误 这是我编写的第一个 REST API 我对邮差很陌生 所以不确定我做错了什么 下面是我尝试使用此 URL 在邮递员中调用的代码 我在 URL 中传递两个日期参数 https loc
  • 合并 BPM 图表的最佳实践

    我们在 Java 环境中使用 Alfresco 活动图 这些图是有版本的 我们确实使用 GIT 我们经常会遇到合并分支的合并冲突 解决这个问题确实很痛苦 因为我们必须比较文件的文本内容来检查差异 有时 重新应用更改比合并更轻松 是否有合并此
  • 如果遵循 REST 架构,如何访问 codeigniter 中的 URL 参数?

    以下是可用于访问资源的基于 REST 的有效 URL 使用codeigniter 如何访问下面传递的参数1 我在教程中看到了上述内容并设置了我的代码 然而显然 id this gt input gt get id 不起作用 Using th
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web
  • 如何为 cxf jax-rs 2.0 客户端注册 jackson json 提供程序?

    我有一个 JAX RS 客户端正在发出一个简单的 GET 请求 我使用 CXF 实现和 Spring 进行 DI 呼叫成功 我收到响应代码 200 但是在将响应读入 POJO 时出现错误 例外 2015 05 08 16 11 55 457

随机推荐

  • 高效工作学习方法四则

    开始做比准备做更重要 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 如果考虑的是一个纯粹的工