SpringBootでactivityを統合し、起動後にテーブルを生成する
3660 ワード
package com.dh.zhdj_v2.config;
import org.activiti.spring.SpringProcessEngineConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.PlatformTransactionManager;
import javax.sql.DataSource;
/**
* Created by Administrator on 2018/5/4.
*/
@Configuration
public class ActivitiConfig {
@Autowired
PlatformTransactionManager transactionManager;
@Autowired
ApplicationContext applicationContext;
@Bean
public SpringProcessEngineConfiguration getProcessEngineConfiguration() {
DataSource dataSource = applicationContext.getBean(DataSource.class);
SpringProcessEngineConfiguration config =
new SpringProcessEngineConfiguration();
config.setDataSource(dataSource);
//config.setDbHistoryUsed(false);
config.setDbIdentityUsed(false);
config.setTransactionManager(transactionManager);
//
config.setActivityFontName(" ");
config.setLabelFontName(" ");
config.setAnnotationFontName(" ");
config.setDatabaseType("oracle");
// config.getJobExecutor();
// , create drop-create
//
// config.setDatabaseSchemaUpdate("create");
// Schema ACT,
// config.setDatabaseSchema("ACT");
return config;
}
}
//次は必ずスキャンしないように書きます
@SpringBootApplication(exclude = {org.activiti.spring.boot.SecurityAutoConfiguration.class})
@Transactional(rollbackFor = Exception.class)
@MapperScan("com.dh.zhdj.modules.*.mapper")
@EnableRabbit
public class ZhdjApplication {
public static void main(String[] args) {
SpringApplication.run(ZhdjApplication.class, args);
}
@Primary
@Bean
public TaskExecutor primaryTaskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
return executor;
}
}
--シナリオ1:ビジネスニーズに応じて、ワークロードの3つのテーブルを削除し、ユーザーテーブルに対応してビューを作成します.
--シナリオ2:ユーザーとロールが更新された場合、ワークフロー内のユーザーと組織情報を更新CREATE OR REPLACE VIEW ACT_ID_GROUP AS SELECT r.role_name AS ID_,NULL AS REV_,r.full_name AS NAME_,NULL AS TYPE_ FROM sys_role r; comment on table ACT_ID_GROUPIs'ユーザーグループ情報テーブル;comment on column ACT_ID_GROUP.REV_ is「楽観ロック」;comment on column ACT_ID_GROUP.NAME_ is'ノード名';comment on column ACT_ID_GROUP.TYPE_ is'ノードタイプ';
CREATE OR REPLACE VIEW ACT_ID_MEMBERSHIP AS SELECT u.user_name AS USER_ID_,r.role_name AS GROUP_ID_ FROM sys_user u join sys_user_role ur ON ur.user_id = u.id JOIN sys_role r ON r.id = ur.role_id; comment on table ACT_ID_MEMBERSHIP is'ユーザとパケット対応情報テーブル';comment on column ACT_ID_MEMBERSHIP.USER_ID_ is'ユーザーID';comment on column ACT_ID_MEMBERSHIP.GROUP_ID_ is'ユーザーグループID';
CREATE OR REPLACE VIEW ACT_ID_USER AS SELECT au.user_name AS ID_, NULL AS REV_, concat('first_',au.full_name) AS FIRST_, concat('last_',au.full_name) AS LAST_, au.email AS EMAIL_, au.user_pwd AS PWD_, NULL AS PICTURE_ID_ FROM sys_user au; comment on table ACT_ID_USER is'ユーザー情報表;comment on column ACT_ID_USER.REV_ is「楽観ロック」;comment on column ACT_ID_USER.FIRST_ is姓comment on column ACT_ID_USER.LAST_ is'名;comment on column ACT_ID_USER.EMAIL_ is 'EMAIL_'; comment on column ACT_ID_USER.PWD_ is'パスワード';comment on column ACT_ID_USER.PICTURE_ID_ is'ピクチャID';