activiti配置(activiti.cfg.xml)

activiti工作流:

一、 activiti的流程引擎配置:

ProcessEngineConfiguration(抽象类)对象代表了一个activiti流程引擎的全部配置,该类提供了一系列的创建ProcessEngineConfiguration的静态方法,用于读取解析

相应的配置文件,并返回该对象实例。还提供了一些get和set方法,可用于配置流程引擎的其他属性。(使用其实现子类StandaloneProcessEngineConfiguration);

1、 createProcessEngineConfigurationFromResourceDefault方法 使用activiti默认的方式创建ProcessEngineConfiguration实例。

(默认为:ClassPath下读取名为“activiti.cfg.xml”配置文件,启动并获取名称为“processEngineConfiguration”的bean的实例。)

2 、createProcessEngineConfigurationFromResource方法:指定相应的配置文件。

3、createProcessEngineConfigurationFromInputStream方法:指定对应配置文件的输入流即可。

4、createStandaloneMemProcessEngineConfiguration方法:返回ProcessEngineConfiguration的子类StandaloneMemProcessEngineConfiguration实例。

该方法不读取配置文件,需要在代码中指定(仅有databaseSchemaUpdate属性和jdbcUrl属性),调用set和get方法。

5、createStandaloneProcessEngineConfigurantion方法:指定databaseSchemaUpdate和jdbcUrl默认属性:分别为:“false”和“jdbc:h2:tcp://localhost/activiti”。

   二、数据源配置:

 1 支持的数据库:MySql,Oracle,PostgreSQL,DB2,MSSQL

  2 支持JDBC,DBCP,C3P0配置。

  3 databaseSechemaUpdate配置:(读取配置文件不会创建表,只在启动流程引擎时创建)

false:默认值,activiti启动时对比数据库表的保存的版本,没有表或者版本不匹配,抛异常。

true: 对所有的表进行更新,不存在,则自动创建。

create-drop:activiti启动时会执行数据库表的创建,关闭时,执行数据库表的删除操作。

drop-create: 一般不用,实际应用有风险:先删除表,在创建表。

 4  dataType:指定数据库的类型:mysql,orcale,postgres,mssql,db2。没有指定值则为null.(不需要配置,数据源加载的时候已经指定了,但是配置了,以该配置为准)

 三、其它配置:

1 history配置
none     :不保存任何历史数据,因此流程执行最高效。

activity  :  级别高于none,保存流程实例和流程行为,其它数据不保存。

audit      :  除activity级别保存的数据外,还会保存全部的流程任务及其属性  (默认级别

full : 最高级别:保存audit数据,和其他全部流程相关的数据及一些流程参数。

各个history级别,activiti会将相应的值保存到ACT_GE_PROPERTY表的historyLevel属性中:

 设置为none,则该值为0,activity为1,audit为2,full为3。

2 jobExecutorActivate配置:

activiti中提供了一个工作执行器,执行器会定时到数据库中扫描没有执行的工作。然后使用jobExecutor类执行这些工作。JobExecutor会启动一条线程,

定时到数据库查询需要执行的工作,当查询符合条件的工作,则调用executeJobs方法执行这些工作。jobExecutor为抽象类,默认会使用DefaultJobExecutor。

该类维护了ThreadPoolExecutor线程池对象,会以扫描的工作数据主键创建一条线程,交给ThreadPoolEcecutor执行。

true: 表示activiti流程引擎创建时,需要启动JobExecutor

false:表示不启动。(默认值)

3 邮件服务器配置:

流程执行到某个节点,activiti会根据配置文件(EmailTask)发送邮件到相应的邮箱

4 ProcessEngineConfiguration bean 

ProcessEngineConfiguration为抽象类,activiti实现的子类可以配置个性化的流程引擎。

1 StandaloneProcessEngineConfiguration: activiti会对事务进行管理。

2 StandaloneMemProcessEngineConfiguration:是 StandaloneProcessEngineConfiguration子类,对事务进行管理。

同时设置了databaseSchemaUpdate和jdbcUrl属性,可以在单元测试中使用。

3 SpringProcessEngineConfiguration:activiti和spring整合使用。

4 JtaProcessEngineConfiguration:不使用activiti事务,使用JTA进行事务管理。

5 自定义拦截器配置:activiti的拦截器使用命令模式和责任链模式,进行拦截处理,可以添加自己定义的的拦截器进行配置。


文章摘自于:疯狂workflow讲义:基于activiti工作流开发


### PyCharm 打开文件显示全的解决方案 当遇到PyCharm打开文件显示全的情况时,可以尝试以下几种方法来解决问题。 #### 方法一:清理缓存并重启IDE 有时IDE内部缓存可能导致文件加载异常。通过清除缓存再启动程序能够有效改善此状况。具体操作路径为`File -> Invalidate Caches / Restart...`,之后按照提示完成相应动作即可[^1]。 #### 方法二:调整编辑器字体设置 如果是因为字体原因造成的内容显示问题,则可以通过修改编辑区内的文字样式来进行修复。进入`Settings/Preferences | Editor | Font`选项卡内更改合适的字号大小以及启用抗锯齿功能等参数配置[^2]。 #### 方法三:检查项目结构配置 对于某些特定场景下的源码视图缺失现象,可能是由于当前工作空间未能正确识别全部模块所引起。此时应该核查Project Structure的Content Roots设定项是否涵盖了整个工程根目录;必要时可手动添加遗漏部分,并保存变更生效[^3]。 ```python # 示例代码用于展示如何获取当前项目的根路径,在实际应用中可根据需求调用该函数辅助排查问题 import os def get_project_root(): current_file = os.path.abspath(__file__) project_dir = os.path.dirname(current_file) while not os.path.exists(os.path.join(project_dir, '.idea')): parent_dir = os.path.dirname(project_dir) if parent_dir == project_dir: break project_dir = parent_dir return project_dir print(f"Current Project Root Directory is {get_project_root()}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值