TogetherOS / cicada

🚀 Fast lightweight HTTP service framework.
https://crossoverjie.top/categories/cicada/
Apache License 2.0
953 stars 212 forks source link

项目初始化阶段基于注解的扫描建议 #17

Closed liweiyuan closed 6 years ago

liweiyuan commented 6 years ago

netty 处理请求消息的handler中基于注解@CicadaAction与@Interceptor可以放在初始化阶段扫描,避免第一次请求时初始化,handler尽量至保证业务逻辑处理

crossoverJie commented 6 years ago

@liweiyuan

包扫描放在第一次请求是为了避免应用启动时初始化太多东西导致花太多时间,当时也有考虑由一个单独的初始化线程处理。

但这样还需要处理初始化线程没有执行完毕之前不让访问,因为包都没扫描完成。所以最终还是得初始化完成才能提供服务。

不过扫描包的操作后面确实会从 handle 中剔除出来单独处理。

crossoverJie commented 6 years ago

不过在初始化时立刻有请求的情况是比较少的,也可考虑提供 API 让用户选择是否使用这样的特性。

liweiyuan commented 6 years ago

嗯嗯