做jbpm一段时间,但是一直没来得及记下点什么,今天开始写点jbpm4.x的笔记。
首先介绍一下jbpm的一些理论知识。(参考jbpm4工作流应用开发指南)
企业信息化是每个现代企业构建强有力管理或生产后盾的一个基本途径,普通的流程已经不能满足复杂的企业应用,工作流逐渐流行起来,特别是在ERP(企业资源计划),CRM(客户关系管理),EAI(企业应用集成)等企业应用中,发挥了不可估量的作用,当然,互联网领域也有着很多类似的应用。
传统的工作流解决方案已经阻碍开发者的脚步,那么工作流引擎成了统一步伐的发令枪。
JBoss的jbpm可以说是现在最为流行的一种java工作流业务流程管理框架,是一个可扩展,灵活的能够实现工作流/业务流程管理的企业级开发框架,提供了流程定义,流程部署,流程执行,流程管理等功能。
前段时间一个前同事说学习jbpm时候吃了很多亏,倒腾了几天还在报错,我现在就从最开始怎样配置,怎样部署,一步步的记录jbpm的开发过程,也算是我再熟悉一下了(现在脑子想的事儿多,一时半会容易出现blank,好记性不如烂键盘!)。
一,这个东东虽然是jboss的,但是也支持tomcat的。你可以下载tomcat6或者jboss5,我建议先下载jbpm4.4,然后解压,解压后的文件夹就是你的jbpm工作目录,我就用${jbpm.home}来表示,然后下载一个jboss-5.1.0.GA.zip,并且把这个压缩文件,直接拷贝到${jbpm.home}/install/downloads下面去(其实tomcat是一样的道理)。你可以不拷贝进去,但是你不拷贝的话,等你ant的时候,它会自动的在网上下载这个版本的jboss,万能了ant啊(后面会提到)。
二,假如你不了解ant的话,我建议你看看我的另外一篇博文http://duyunfei.iteye.com/blog/857675,假如你没时间看,请继续。
ant说简单点,是一个构建部署程序的一把利剑,由于是基于java的开源产品,所以具有良好的移植性和易用性。首先,你下载一个最新ant版本,然后下载后解压,设置环境变量 ANT_HOME=E:\ant1.8.2,Path后面加上;E:\ant1.8.2\bin,启动cmd然后ant,出现build.xml does not exist! 成功。
此时你打开命令控制台,即cmd,进入目录${jbpm.home}/install,运行脚本:ant demo.setup.jboss,ok,别看这两步,它帮你完成了这些操作:
1,把jboss安装到${jbpm.home}的jboss-5.1.0.GA下。
2,把jbpm安装到jboss中。
3,安装HSQLDB,并在后台启动。
4,创建数据库表结构。
5,在后台启动jboss,你可以用http://localhost://8080访问,会出现jboss的首页。
6,根据示例(来自examples目录)创建一个examples.bar 业务流程归档,并把它发布到jbpm数据库中。
7,从${jbpm.home}/install/src/demo/example.identities.sql初始化用户和组。
有的书中说还把eclipse安装到${jbpm.home}/eclipse中,启动eclipse,安装jbpmweb控制台,安装signavio web设计器,但是我这人
貌似没这些。
此时你可以使用GPD(图形化流程设计器)这个机遇eclipse的客户端软件区进行流程建模,如何安装待会儿再讲,或者你可以通过
Signavio web设计器进行流程建http://localhost:8080/jbpmeditor/p/explorer,这时候,也可以使用jbpm控制台
http://localhost:8080/jbpm-console/,用下列用户之一进行登录(用户名/密码):
alex/password,mike/password,peter/password,mary/password
ant可以为我们办到很多事情,比如下载安装eclipse,jboss,tomcat等,但是惟独没有帮我们下载并安装数据库软件,如果要成功运行jbpm,你必须要修改一些配置文件,例如数据库对应的配置文件,在目录${jbpm.home}/install/jdbc中,这个目录列出了jbpm官方支持数据库类型的相应配置,根据你对数据库的选择配置相应的properties文件。例如mysql.properties的内容如下
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/jbpmdb
jdbc.username=jbpm
jdbc.password=jbpm
oracle.properties的内容如下
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@localhost:1521:jbpmdb
jdbc.username=jbpm
jdbc.password=jbpm
在install的build.xml文件中database可以自定义,默认是HSQLDB,可选值是mysql,oracle,postgresql,在ant的时候jboss.version可以指定为5.0.0GA或者5.0.0GA,jbpm4.3的默认是前者,jbpm4.4默认是后者,我们按照高版本来。如果要自定义这些参数值,可以在运行ant安装脚本时使用 -D指令,如:
ant -Ddatabase=postgresql demo.set.jboss,假如你刚才已经执行过了,现在务必把jboss的服务关了,而且得把mysql服务打开,并确保mysql.properties中的链接语句是正确的,才能重新执行成功。
执行成功后,你可以在mysql数据库中看到jbpmdb下面建立了许多表。在这儿不列出来了。
在这里提到一个重要的概念,执行ant的时候,会把jbpm安装到Jboss应用服务器中,这回把jbpm安装成一个jboss的服务,因此这台jboss上所有应用程序都可以使用这个安装的jbpm流程引擎。
在上面我们提到 Signavio 这个东西,它是基于web的流程设计器,输入
http://localhost:8080/jbpmeditor/p/explorer,可以进入管理页面。
配置它比较简单,大多数参数在web.xml中修改即可,你可以在jbpmeditor.war/WEB-INF/目录中找到,fileSystemRootDirectory很重要,
这个参数的值必须为一个物理上存在的本地目录,它指定了流程定义文件(*.jpdl.xml文件)存储的位置,比如我的这个参数显示的是
- <context-param>
- <description>Filesystem directory that is used to
- store models</description>
- <param-name>fileSystemRootDirectory</param-name>
- <param-value>F:/jbpm-4.4/signavio-repository</param-value>
- </context-param>
相关推荐
jbpm学习笔记主要涵盖了jbpm(Java Business Process Management)的多个方面,包括Signavio的使用和配置、jBPM数据库的安装、Graphical Process Designer(GPD)的安装以及jBPM在Eclipse环境中的配置。以下是这些...
#### 三、JBPM学习笔记系列 **1.1 Ant构建与数据库环境配置** - 重点介绍了如何使用Ant进行构建和部署,以及如何配置数据库环境,为后续的流程定义和执行打下基础。 **1.2 MyEclipse整合JBPM配置** - 讲述了...
【JBPM4.3学习笔记及请假流程代码】 JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了一套完整的解决方案,用于管理和执行业务流程。JBPM4.3是该系统的其中一个版本,它包含了流程...
本文档旨在介绍jBPM的基本概念、安装配置以及一个具体的使用案例,帮助读者快速掌握jBPM的核心技术。 #### 二、jBPM简介 - **定义与特点**:jBPM是一个开源的工作流引擎,支持业务流程建模与执行。它具有高度的灵活...
内容概要:本文详细介绍了香蕉成熟度分类目标检测数据集的构建及其应用方法。数据集采用YOLO格式,包含18074张图像,分为训练集、验证集和测试集。文中不仅展示了数据集的目录结构和标签文件格式,还提供了Python代码用于加载和可视化标签,以及使用Ultralytics的YOLOv8进行模型训练的方法。此外,针对实际操作中可能出现的问题如类别ID调整、样本不均衡处理等给出了具体解决方案,并分享了一些提高标注精度的小技巧。 适合人群:对目标检测感兴趣的研究人员和技术爱好者,尤其是希望利用深度学习技术进行水果成熟度识别的从业者。 使用场景及目标:适用于需要构建和训练香蕉成熟度分类模型的研究项目或商业应用。主要目标是帮助用户掌握从数据准备到模型部署的完整流程,同时提供解决常见问题的有效途径。 其他说明:本文提供的代码片段可以直接运行,但需确保环境已安装相关依赖库。对于初学者而言,在尝试复现实验前建议先熟悉YOLO算法的基本概念和工作原理。
内容概要:本文详细介绍了基于MATLAB对齿轮-轴-轴承系统进行非线性动力学建模及其混沌特性分析的方法。首先,根据牛顿第二定律建立了齿轮系统的非线性动力学方程,并采用修正Capone模型的滑动轴承无量纲化雷诺方程来模拟滑动轴承的行为。接着,通过MATLAB编写了核心微分方程函数和轴承力计算函数,实现了对系统在不同转速下的动态特性的仿真。最后,通过对不同转速下系统的位移-速度相图进行绘制和分析,展示了系统从有序状态逐渐过渡到混沌状态的过程。 适合人群:机械工程领域的研究人员和技术人员,尤其是对非线性动力学和混沌理论感兴趣的学者。 使用场景及目标:适用于研究齿轮-轴-轴承系统的动态行为,特别是探索其在高转速条件下的非线性和混沌现象。目标是帮助读者理解复杂机械系统的动态响应机制,并提供实际的MATLAB代码用于实验验证。 阅读建议:读者需要具备一定的MATLAB编程基础以及机械动力学的知识背景。建议在阅读过程中亲自运行提供的MATLAB代码,以便更好地理解和掌握文中所介绍的技术方法。
# 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
内容概要:本文档提供了详细的Oasys Primer JFOLD安全气囊仿真折叠教程,涵盖从TUCK、FOLD、ROLL、INFLATOR到DEPLOYMENT的完整折叠流程。每个步骤均配有详尽的操作指导与解释,帮助初学者逐步掌握安全气囊折叠技术。此外,文档还附有所有K文件及d3plot结果,使读者可以直观地看到仿真效果。文中强调了折叠过程中关键点如减少织物间隙的重要性,确保安全气囊在紧急情况下能快速有效展开。 适合人群:汽车安全工程技术人员、安全气囊设计与测试工程师以及相关专业学生。 使用场景及目标:适用于希望深入理解和掌握安全气囊仿真折叠技术的专业人士,旨在提高其理论水平和技术能力。 其他说明:本教程不仅提供理论知识,还包括大量实用案例和具体操作方法,有助于读者更好地应用于实际工作中。
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
内容概要:本文详细介绍了基于光伏最大功率点跟踪(MPPT)与混合储能系统的三相并网超级电容能量管理系统的设计与实现。主要内容涵盖光伏MPPT算法、混合储能系统中低通滤波器的应用、超级电容SOC管理策略、三相逆变并网控制方法以及微网能量流动态管理等方面。文中不仅提供了理论分析,还展示了具体的算法实现及其在实际工程项目中的应用情况,如扰动观察法用于MPPT、巴特沃斯滤波器用于功率分配、SOC分区限值管理策略等。 适合人群:从事新能源发电、电力电子、智能电网等相关领域的研究人员和技术人员。 使用场景及目标:适用于希望深入了解光伏与储能集成系统的工作机制,特别是关注于提高系统稳定性和效率的研究者和技术开发者。通过学习本文可以掌握如何优化光伏能量采集、合理分配储能资源、精确控制超级电容充放电行为以及确保并网操作的安全可靠。 其他说明:文章中提到的技术手段已在实际项目中得到验证,对于解决实际工程问题具有重要指导意义。同时,针对一些常见问题提出了有效的解决方案,如LC滤波器参数选择不当导致的问题、SOC估算误差修正措施以及并网同步困难的应对办法。
计算机视觉_深度学习_图像分类_垃圾分类_华为云竞赛_基于TensorFlow和Keras框架的智能垃圾分类系统_包含多种神经网络模型和传统机器学习方法_支持本地化部署和云端训练_.zip
内容概要:本文详细介绍了CUPT2024湿卷轴仿真实验,重点展示了利用Comsol仿真软件进行的两次不同参数设置的模拟分析。文中强调了实验前的准备工作,如选择合适的工具和技术手段,以及实验过程中遇到的问题及其解决方案。特别提到了mph文件格式的使用和注意事项,确保模拟结果的准确性和可靠性。最后总结了实验的成功经验和未来改进的方向。 适合人群:从事物理模拟、材料科学及相关领域的研究人员和学生。 使用场景及目标:适用于希望通过Comsol仿真软件进行湿卷轴模拟分析的研究人员,帮助他们理解和优化实验参数配置,提升实验效率和结果精度。 其他说明:文章不仅提供了具体的实验步骤和技术细节,还分享了作者的心得体会,鼓励读者在实践中不断探索和创新。
# 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
内容概要:本文详细介绍了谐波线性化技术和序阻抗模型在电力系统的应用。首先解释了谐波线性化的基本概念及其重要性,通过将非线性元件等效为线性阻抗来简化分析过程。接着展示了具体的Python代码实例,演示如何利用傅里叶变换提取基波分量并计算谐波导纳。随后引入序阻抗模型,用于解决三相系统中的不对称故障问题,提供了将三相阻抗矩阵转换为序阻抗矩阵的具体方法。最后讨论了这两种技术结合使用的实际应用场景,如光伏电站并网后的稳定性检查,以及如何通过稳定裕度评估系统性能。 适合人群:从事电力系统分析、新能源发电领域的工程师和技术人员。 使用场景及目标:适用于需要处理电力系统中谐波问题的专业人士,帮助他们理解和掌握谐波线性化和序阻抗模型的技术细节,提高系统分析和故障排查能力。 其他说明:文中提供的代码示例有助于读者更好地理解理论知识的实际应用,同时强调了这两种技术在实际工程项目中的重要作用。
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
内容概要:本文详细探讨了不平衡电网对整流和逆变电路的影响及其解决方案。在不平衡电网条件下,整流电路的直流侧会出现二倍频率分量,而逆变电路则会在交流电网中产生负序分量。文中介绍了通过正负序分离技术,将三相电流或电压分解为正序和负序分量,以此调整电流内环参考值,有效抑制不利分量的方法。此外,还展示了如何在Simulink中搭建相应的仿真模型并验证该方法的有效性。 适合人群:从事电力系统研究和技术开发的专业人士,尤其是关注电力电子技术和电力系统分析的研究人员和工程师。 使用场景及目标:适用于需要理解和解决不平衡电网对整流和逆变电路影响的技术人员。目标是掌握正负序分离技术的应用,提高电力系统的稳定性和效率。 其他说明:文中提供了详细的数学推导和Matlab/Simulink代码片段,有助于读者更好地理解和实施正负序分离技术。同时,附带的相关参考文献也为进一步学习提供了支持。
内容概要:本文详细介绍了永磁同步电机(PMSM)无位置传感器算法的关键技术及其应用。针对不同转速区间,分别阐述了低速时采用的脉振方波注入方法和中高速时基于滑模观测器的方法。脉振方波注入法利用转子的凸极特性获取位置信息,适用于低速运转;滑模观测器法则通过动态特性观测实现高效控制,适用于中高速运转。文中还探讨了两种方法之间的自动切换机制以及模块化设计的应用,确保电机在各种工况下的稳定运行。最后,通过大量仿真实验验证了算法的有效性。 适合人群:从事电机控制领域的研究人员和技术人员,特别是对无位置传感器技术和永磁同步电机感兴趣的读者。 使用场景及目标:①研究和开发高效的永磁同步电机控制系统;②探索无位置传感器技术在不同应用场景中的可行性;③提高电机控制系统的可靠性和效率。 其他说明:本文提供了详细的理论背景和技术细节,有助于深入理解和实践无位置传感器控制方法。同时,模块化的设计思想为未来的研究和应用提供了便利。