jBPM工作流 之jBPM3

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 前一段时间的项目涉及jBPM3的项目升级,把其中学习到的一些内容整理一下,首先看看jBPM3的使用,了解了这个,对于升级到4有一定的绑定。 下载和安装 http://sourceforge.net/projects/jbpm/files/jBPM%203/jbpm-jpdl-3.

 前一段时间的项目涉及jBPM3的项目升级,把其中学习到的一些内容整理一下,

首先看看jBPM3的使用,了解了这个,对于升级到4有一定的绑定。 

下载和安装

http://sourceforge.net/projects/jbpm/files/jBPM%203/jbpm-jpdl-3.2.8/

下载jbpm-installer-3.2.8.jar后

将 jboss-5.0.1.GA.zip 放到 jbpm-3.2.8\opt

clip_image002

使用java -jar jbpm-installer-3.2.8.jar执行安装,如上,选择mysql和jboss的路径

配置

Mysql

建立mysql数据库jbpm3,建立用户/密码:jbpm3/ jbpm3

首先执行 jbpm3\jbpm-3.2.8\database\jbpm.jpdl.mysql.sql

然后 jbpm-3.2.8/docs/userguide/html/ch07.html#d0e1910 插入如下的数据

insert into JBPM_ID_USER (ID_, CLASS_, NAME_, EMAIL_, PASSWORD_)

values ('1', 'U', 'user', 'sample.user@sample.domain', 'user');

insert into JBPM_ID_USER (ID_,CLASS_, NAME_, EMAIL_, PASSWORD_)

values ('2', 'U', 'manager', 'sample.manager@sample.domain', 'manager');

insert into JBPM_ID_USER (ID_,CLASS_, NAME_, EMAIL_, PASSWORD_)

values ('3', 'U', 'shipper', 'sample.shipper@sample.domain', 'shipper');

insert into JBPM_ID_USER (ID_,CLASS_, NAME_, EMAIL_, PASSWORD_)

values ('4', 'U', 'admin', 'sample.admin@sample.domain', 'admin');

JBOSS 5

jboss-5.0.1.GA\server\default\conf\login-config.xml加入用户验证

<application-policy name="soa">

<authentication>

<login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required">

<module-option name="dsJndiName">java:/JbpmDS</module-option>

<module-option name="principalsQuery">

SELECT PASSWORD_ FROM JBPM_ID_USER WHERE NAME_=?

</module-option>

<module-option name="rolesQuery">

SELECT g.NAME_ ,'Roles'

FROM JBPM_ID_USER u,

JBPM_ID_MEMBERSHIP m,

JBPM_ID_GROUP g

WHERE g.TYPE_='security-role'

AND m.GROUP_ = g.ID_

AND m.USER_ = u.ID_

AND u.NAME_=?

</module-option>

</login-module>

</authentication>

</application-policy>

以上的soa和

jboss-5.0.1.GA\server\default\deploy\jbpm\jsf-console.war\WEB-INF\jboss-web.xml

<security-domain>java:/jaas/soa</security-domain>

<context-root>jbpm-console</context-root>

对应

jboss-5.0.1.GA\server\default\deploy\jbpm\jbpm-mysql-ds.xml的内容需要修改成如下,否则会出现事务错误

<?xml version="1.0" encoding="UTF-8"?>

<datasources>

<local-tx-datasource>

<jndi-name>JbpmDS</jndi-name>

<connection-url>jdbc:mysql://localhost:3306/jbpm3</connection-url>

<driver-class>com.mysql.jdbc.Driver</driver-class>

<user-name>jbpm3</user-name>

<password>jbpm3</password>

<metadata>

<type-mapping>MySQL</type-mapping>

</metadata>

</local-tx-datasource>

</datasources>

执行

jboss-5.0.1.GA\bin\run.bat 即可访问 http://localhost:8080/jbpm-console/

使用

将jbpm-3.2.8\examples\websale\src\main\jpdl\jpdl 这个目录下的内容压缩成websale.zip

http://localhost:8080/jbpm-console/ 使用admin/admin即可登录,此时可以部署流程 websale.zip

如下:

clip_image004

具体参考:

JBoss jBPM getting started guide

http://community.jboss.org/wiki/JBPM3GettingStarted

代码jbpm-console

http://grepcode.com/

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
前端开发 JavaScript Java
Web.xml - Servlet与Filter的url-pattern
Web.xml - Servlet与Filter的url-pattern
412 8
|
计算机视觉 Python
解决 NoneType‘ object has no attribute ‘astype’ 问题
解决 NoneType‘ object has no attribute ‘astype’ 问题
525 0
|
11月前
|
人工智能 数据可视化 数据挖掘
AI竟能独立完成顶会论文!The AI Scientist-v2:开源端到端AI自主科研系统,自动探索科学假设生成论文
The AI Scientist-v2 是由 Sakana AI 等机构开发的端到端自主科研系统,通过树搜索算法与视觉语言模型反馈实现科学假设生成、实验执行及论文撰写全流程自动化,其生成论文已通过国际顶会同行评审。
787 34
AI竟能独立完成顶会论文!The AI Scientist-v2:开源端到端AI自主科研系统,自动探索科学假设生成论文
|
缓存 自然语言处理 算法
大模型意图识别工程化实践
本文重点介绍大模型意图识别能力在智能电视核心链路中的落地过程和思考,对比了基础模型、RAG 、以及7b模型微调三种方案的优缺点。
5272 122
|
8月前
|
数据采集 机器学习/深度学习 自然语言处理
智能风险管理的技术架构:2025从数据采集到自主决策的全链路解析
本文系统梳理了项目风险管理的技术演进历程,从文档驱动到智能化阶段,深入解析各时期关键技术与工具架构,并结合实践案例提出前瞻性实施策略,助力项目管理专业人士构建智能风险管理体系。
547 2
|
存储 Kubernetes 调度
基于容器化技术的性能优化实践
基于容器化技术的性能优化实践
281 3
|
存储 C++ Python
[oeasy]python037_ print函数参数_sep分隔符_separator
本文介绍了Python中`print`函数的`sep`参数,即分隔符。通过回顾上文内容,解释了类型与`type`的概念,并强调了参数类型的重要性。文章详细探讨了`print`函数如何使用`sep`参数来分隔输出值,默认分隔符为空格(序号32)。还讨论了如何修改分隔符为其他字符,如冒号,并解释了为何反斜杠需要使用双反斜杠表示。最后,文章追溯了`sep`名称的由来,以及相关词汇的历史背景,如盎格鲁-萨克逊人的武器和语言。
499 1
|
存储 Java Shell
shell学习笔记(详细整理)
这篇文章是一份详细的Shell学习笔记,涵盖了Shell的基础知识、脚本编写、变量、运算符、条件判断、流程控制、函数以及常用Shell工具的使用。
530 2
|
监控 安全 算法
云上智能风控:构建金融安全的智能防线
云上智能风控系统具有良好的灵活性和可扩展性。随着金融市场的不断变化和技术的不断发展,系统能够灵活调整风控策略和算法模型以适应新的风险类型和场景。同时,系统还能够根据业务需求进行功能扩展和升级以满足不同金融机构的个性化需求。
1114 7

热门文章

最新文章