Mpush系列[6]之SPI分析
2019-08-01 14:13:27 0 举报
mpush spi 代码分析
作者其他创作
大纲/内容
SpiLoader
public static <T> T load(Class<T> clazz);
A1: 通过create()调用 spiLoader: SpiLoader.load(PusherFactory.class).get();
PushClientFactory
+ PushSender get()
Mpush系列之SPI分析
load()
annotation
interface PusherFactory extends Factory<PushSender>
+ static PushSender create();
A3: 加载 SPI 实现类
ServiceLoader
A5: 根据 spi 的优先级排序
Spiorder();
SPI的用户使用空间
A4: 过滤和排序
Supplier<T>
+ T get()
Factory<T> extends Supplier<T>
A2: 调用 ServiceLoader
0 条评论
下一页