栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Spring Boot应用中为Activiti指定单独的数据源

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Spring Boot应用中为Activiti指定单独的数据源

@ andy-
wilkinson给出了答案,但这是如何使用它的示例。根据您的建议,创建另一个

DataSource
,然后将其连接到
SpringProcessEngineConfiguration
。像这样:

@Configurationpublic class ActivitiConfiguration extends AbstractProcessEngineAutoConfiguration {    @Bean    @ConfigurationProperties(prefix = "datasource.activiti")    public DataSource activitiDataSource() {        return DataSourceBuilder     .create()     .url("jdbc:h2:mem:activiti")     .username("activiti")     .driverClassName("org.h2.Driver")     .build();    }    @Bean    public SpringProcessEngineConfiguration springProcessEngineConfiguration( PlatformTransactionManager transactionManager, SpringAsyncExecutor springAsyncExecutor) throws IOException {        return baseSpringProcessEngineConfiguration(     activitiDataSource(),     transactionManager,     springAsyncExecutor);    }}

Activiti将用于

activitiDataSource
创建其表并保留其数据。

现在,您可以创建另一个

DataSource
来携带应用程序表和数据。这是基于的基本示例
spring-boot-sample-basic
。基本上,它
customerId
WaiterEntity
/中保留a
WaiterRepository
(使用Spring Data
JPA-为简洁起见,然后将其保留)传递到Activiti
basic2.bpmn
进程,该进程仅将其打印出到控制台。

@SpringBootApplicationpublic class Application {    @Bean    @Primary    @ConfigurationProperties(prefix = "datasource.primary")    public DataSource primaryDataSource() {        return DataSourceBuilder     .create()     .url("jdbc:h2:mem:primary")     .username("primary")     .driverClassName("org.h2.Driver")     .build();    }    @Bean    CommandLineRunner basics(final RuntimeService runtimeService,       final WaiterRepository repository) {        return new CommandLineRunner() { @Override public void run(String... strings) throws Exception {     runtimeService.startProcessInstanceByKey(  "waiter2",  Collections.singletonMap(          "customerId",          (Object) repository.save(new WaiterEntity(123L)).getCustomerId())); }        };    }    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}

注意

@Primary
primaryDataSource
。如果您省略该
WAITER_ENTITY
表,则将在中创建表
activitiDataSource
(没有任何其他特定配置)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408563.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号