1.下载Activiti-activiti-5.16源码包;
2.找到activiti-engine模块,只需修改两个类和表结构资源:
a、找到org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl类,在getDefaultDatabaseTypeMappings()方法中添加如下代码:
databaseTypeMappings.setProperty("DM DBMS","dm");
b、找到org.activiti.engine.impl.db.DbSqlSessionFactory类,在static块中添加如下代码:
// dm
databaseSpecificLimitBeforeStatements.put("dm", "select * from ( select a.*, ROWNUM rnum from (");
databaseSpecificLimitAfterStatements.put("dm", " ) a where ROWNUM < #{lastRow}) where rnum >= #{firstRow}");
databaseSpecificLimitBetweenStatements.put("dm", "");
databaseOuterJoinLimitBetweenStatements.put("dm", "");
databaseSpecificOrderByStatements.put("dm", defaultOrderBy);
addDatabaseSpecificStatement("dm", "selectExclusiveJobsToExecute", "selectExclusiveJobsToExecute_integerBoolean");
addDatabaseSpecificStatement("dm", "selectUnlockedTimersByDuedate", "selectUnlockedTimersByDuedate_oracle");
addDatabaseSpecificStatement("dm", "insertEventLogEntry", "insertEventLogEntry_oracle");
c、找到org.activiti.db.create/drop/upgrade资源,复制oracle相应sql文件,把文件名中的oracle修改为dm:
3.生成新jar包替换项目上原有jar包即可。