[xuxueli/xxl-job]XxlJob令@Lazy失效

2023-12-18 392 views
6

在XxlJobSpringExecutor中, applicationContext.getBeanNamesForType(Object.class, false, true) 使得spring提前初始化了一些bean,在实际项目中,某些bean不需要在启动时初始化, 这里能否优化为XxlJob不具有侵入性,定义统一的接口,或者注解,而非暴力加载所有spring扫描的类的对象

回答

9

@LiZhenNet @xuxueli 看了下逻辑,这里是否可以只加载非Lazy的bean? 我理解lazy的bean并不需要xxljob去覆盖,可以形成约定让使用者规避。 但是无论是使用什么方式去修改,都会遇到向下不兼容的问题

6

@LiZhenNet @xuxueli 看了下逻辑,这里是否可以只加载非Lazy的bean? 我理解lazy的bean并不需要xxljob去覆盖,可以形成约定让使用者规避。 但是无论是使用什么方式去修改,都会遇到向下不兼容的问题

9

可以定义一个基类,只扫某个基类的子类的bean, 或者定义一个XXlJobContainer之类的注解 当项目中扫到该注解的类时,就不会暴力加载所有的Object了

当上述的行为失败时,再走这个默认的暴力加载的路, 可以做到向前兼容, 不过建议有一定的约束,而不是仅定义一个方法级别的注解,避免侵入到别的初始化逻辑 @xuxueli