Open jiusun opened 2 months ago
你是什么需求,需要监听 doRegisterComponent 方法
你是什么需求,需要监听 doRegisterComponent 方法
一开始的需求是希望集成redis
后可以给key
添加一个自定义的前缀,而不是使用 tokenName
。
所以想着在组件注册后修改一下 StringRedisTemplate
和 RedisTemplate<String, Object>
,这样就不用自己去实现 SaTokenDao
。
然后就发现 doRegisterComponent
并不能监听到 SaTokenDaoRedisJackson
的注册。
给redis
的key
添加自定义前缀的功能我已经实现了。
但是通过@Component
注册的全局侦听器确实会因为注册顺序导致错过部分事件。
所以在这里提问一下。这是bug吗?或者是故意这样做的?
现在没做顺序控制
现在没做顺序控制
可以支持下吗
使用版本:
sa-token - 1.39.0 spring boot - 3.3.3
涉及的功能模块:
测试步骤:
我经过以下步骤测试: 使用
@Component
注册了一个自定义的全局侦听器,并监听全局组件注册事件doRegisterComponent
。代码如下:项目启动后得出以下结果:
可以看到只有最后注册的
SaJsonTemplate
组件,才会被正常侦听。 通过debug发现自定义的侦听器并不是最先注册的,所以在注册之前发生的事件无法被正常侦听到疑问
SaTokenEventCenter.registerListener(new MySaTokenListener());
手动注册的没有这个问题。 是否可以提高通过@Component
注册的自定义侦听器的的优先级,或者是否有其他方法可以手动提高优先级。