优化Spring环境下的类型
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
package com.lanyuanxiaoyao.flowable.jpa;
|
package com.lanyuanxiaoyao.flowable.jpa;
|
||||||
|
|
||||||
import com.lanyuanxiaoyao.flowable.core.manager.FlowableConfiguration;
|
|
||||||
import com.lanyuanxiaoyao.flowable.core.manager.FlowableManager;
|
import com.lanyuanxiaoyao.flowable.core.manager.FlowableManager;
|
||||||
import com.lanyuanxiaoyao.flowable.core.repository.FlowableRepository;
|
import com.lanyuanxiaoyao.flowable.core.repository.FlowableRepository;
|
||||||
import com.lanyuanxiaoyao.flowable.jpa.repository.FlowableHistoryRepository;
|
import com.lanyuanxiaoyao.flowable.jpa.repository.FlowableHistoryRepository;
|
||||||
@@ -12,6 +11,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
|
|||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||||
|
|
||||||
@@ -22,13 +22,14 @@ import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
|||||||
* @version 20250103
|
* @version 20250103
|
||||||
*/
|
*/
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@ComponentScan
|
||||||
@EnableJpaRepositories("com.lanyuanxiaoyao.flowable.jpa.repository")
|
@EnableJpaRepositories("com.lanyuanxiaoyao.flowable.jpa.repository")
|
||||||
@EnableConfigurationProperties(SpringFlowableConfiguration.class)
|
@EnableConfigurationProperties(SpringFlowableConfiguration.class)
|
||||||
public class SpringFlowableAutoConfiguration {
|
public class SpringFlowableAutoConfiguration {
|
||||||
@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(FlowableRepository.class)
|
@ConditionalOnMissingBean(FlowableRepository.class)
|
||||||
public FlowableRepository flowableRepository(
|
public SpringFlowableRepository flowableRepository(
|
||||||
FlowableNodeRepository flowableNodeRepository,
|
FlowableNodeRepository flowableNodeRepository,
|
||||||
FlowableInstanceRepository flowableInstanceRepository,
|
FlowableInstanceRepository flowableInstanceRepository,
|
||||||
FlowableHistoryRepository flowableHistoryRepository
|
FlowableHistoryRepository flowableHistoryRepository
|
||||||
@@ -39,12 +40,12 @@ public class SpringFlowableAutoConfiguration {
|
|||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnBean(FlowableRepository.class)
|
@ConditionalOnBean(FlowableRepository.class)
|
||||||
@ConditionalOnMissingBean(FlowableManager.class)
|
@ConditionalOnMissingBean(FlowableManager.class)
|
||||||
public FlowableManager flowableManager(
|
public SpringFlowableManager flowableManager(
|
||||||
FlowableConfiguration configuration,
|
SpringFlowableConfiguration configuration,
|
||||||
FlowableRepository repository,
|
SpringFlowableRepository repository,
|
||||||
ApplicationContext applicationContext
|
ApplicationContext applicationContext
|
||||||
) {
|
) {
|
||||||
FlowableManager manager = new SpringFlowableManager(configuration, repository, applicationContext);
|
SpringFlowableManager manager = new SpringFlowableManager(configuration, repository, applicationContext);
|
||||||
|
|
||||||
Map<String, SpringFlowableManagerInitializer> initializerMap = applicationContext.getBeansOfType(SpringFlowableManagerInitializer.class);
|
Map<String, SpringFlowableManagerInitializer> initializerMap = applicationContext.getBeansOfType(SpringFlowableManagerInitializer.class);
|
||||||
for (SpringFlowableManagerInitializer initializer : initializerMap.values()) {
|
for (SpringFlowableManagerInitializer initializer : initializerMap.values()) {
|
||||||
|
|||||||
@@ -1,12 +1,15 @@
|
|||||||
package com.lanyuanxiaoyao.flowable.jpa;
|
package com.lanyuanxiaoyao.flowable.jpa;
|
||||||
|
|
||||||
import com.lanyuanxiaoyao.flowable.core.manager.FlowableConfiguration;
|
|
||||||
import com.lanyuanxiaoyao.flowable.core.manager.FlowableManager;
|
import com.lanyuanxiaoyao.flowable.core.manager.FlowableManager;
|
||||||
import com.lanyuanxiaoyao.flowable.core.repository.FlowableRepository;
|
import com.lanyuanxiaoyao.flowable.jpa.entity.FlowableHistory;
|
||||||
|
import com.lanyuanxiaoyao.flowable.jpa.entity.FlowableInstance;
|
||||||
|
import com.lanyuanxiaoyao.flowable.jpa.entity.FlowableNode;
|
||||||
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.data.jpa.domain.Specification;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author lanyuanxiaoyao
|
* @author lanyuanxiaoyao
|
||||||
@@ -14,11 +17,13 @@ import org.springframework.context.ApplicationContext;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class SpringFlowableManager extends FlowableManager {
|
public class SpringFlowableManager extends FlowableManager {
|
||||||
|
private final SpringFlowableRepository repository;
|
||||||
private final ApplicationContext applicationContext;
|
private final ApplicationContext applicationContext;
|
||||||
|
|
||||||
public SpringFlowableManager(FlowableConfiguration configuration, FlowableRepository repository, ApplicationContext applicationContext) {
|
public SpringFlowableManager(SpringFlowableConfiguration configuration, SpringFlowableRepository repository, ApplicationContext applicationContext) {
|
||||||
super(configuration, repository);
|
super(configuration, repository);
|
||||||
log.info("Configuration: {}", configuration);
|
log.info("Configuration: {}", configuration);
|
||||||
|
this.repository = repository;
|
||||||
this.applicationContext = applicationContext;
|
this.applicationContext = applicationContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
package com.lanyuanxiaoyao.flowable.jpa;
|
package com.lanyuanxiaoyao.flowable.jpa;
|
||||||
|
|
||||||
import com.lanyuanxiaoyao.flowable.core.manager.FlowableManager;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author lanyuanxiaoyao
|
* @author lanyuanxiaoyao
|
||||||
* @version 20250106
|
* @version 20250106
|
||||||
*/
|
*/
|
||||||
public interface SpringFlowableManagerInitializer {
|
public interface SpringFlowableManagerInitializer {
|
||||||
FlowableManager initial(FlowableManager manager);
|
SpringFlowableManager initial(SpringFlowableManager manager);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user