mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 04:02:09 +08:00
bug #IAGJ2F SPI 在多线程场景下类加载器不一致导致加载有报错问题
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
package com.yomahub.liteflow.springboot;
|
||||
|
||||
import com.yomahub.liteflow.spi.holder.*;
|
||||
import org.springframework.beans.factory.SmartInitializingSingleton;
|
||||
|
||||
/**
|
||||
* 初始化 SPI ,避免多线程场景下类加载器不同导致的加载不到 SPI 实现类
|
||||
*
|
||||
* @author gaibu
|
||||
*/
|
||||
public class LiteflowSpiInit implements SmartInitializingSingleton {
|
||||
|
||||
@Override
|
||||
public void afterSingletonsInstantiated() {
|
||||
SpiFactoryInitializing.loadInit();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import com.yomahub.liteflow.spi.spring.SpringAware;
|
||||
import com.yomahub.liteflow.spring.ComponentScanner;
|
||||
import com.yomahub.liteflow.spring.DeclBeanDefinition;
|
||||
import com.yomahub.liteflow.springboot.LiteflowExecutorInit;
|
||||
import com.yomahub.liteflow.springboot.LiteflowSpiInit;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
@@ -72,4 +73,10 @@ public class LiteflowMainAutoConfiguration {
|
||||
public MonitorBus monitorBus(LiteflowConfig liteflowConfig, SpringAware springAware) {
|
||||
return new MonitorBus(liteflowConfig);
|
||||
}
|
||||
|
||||
// 初始化 SPI ,避免多线程场景下类加载器不同导致的加载不到 SPI 实现类
|
||||
@Bean("liteflowSpiInit")
|
||||
public LiteflowSpiInit liteflowSpiInit() {
|
||||
return new LiteflowSpiInit();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user