摘要: 插件热插拔管理机制,简称:H-Spi。是框架提供的生产时用的另一种高级扩展方案。相对E-Spi,H-Spi 更侧重隔离、热插热拔、及管理性。 应用时,是以一个业务模块为单位进行开发,且封装为一个独立插件包。 1、特点说明 所有插件包独享ClassLoader、AopContext、配置;完全隔离 可 阅读全文
posted @ 2023-02-13 22:23 带刺的坐椅 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 插件体外扩展机制,简称:E-Spi。用于解决 fatjar 模式部署时的扩展需求。比如: 把一些“业务模块”做成插件包放到体外 把数据源配置文件放到体外,方便后续修改 其中, .properties 或 .yml 文件都会做为扩展配置加载,.jar 文件会做为插件包加载。 1、特点说明 所有插件包共 阅读全文
posted @ 2023-02-13 22:21 带刺的坐椅 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 插件扩展机制,是基于 “插件” + “配置申明” 实现的解耦的扩展机制(类似 Spring Factories、Java Spi):简单、弹性、自由。它的核心作用,是为模块获得了应用启动入口,并参与了应用生命周期。简称为 Solon 的 Spi。 像 @Tran、@Cache 之类的注解开发成果,都 阅读全文
posted @ 2023-02-13 22:15 带刺的坐椅 阅读(49) 评论(0) 推荐(0) 编辑
摘要: Solon Plugin 是框架的核心接口,简称“插件”。其本质是一个“生命周期”接口。它可让一个组件类参与程序的生命周期过程(这块看下:《应用启动过程与完整生命周期》): @FunctionalInterface public interface Plugin { //启动 void start( 阅读全文
posted @ 2023-02-13 22:13 带刺的坐椅 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 1、剖析 Bean 的装包与注册过程 比如,用配置器装配一个 Bean (本质是装配出一个 BeanWrap,并自动注册到容器): @Configuration public class Config{ //同时以名字和类型进行注册 //支持类型或名字注入 @Bean(name="demo", ty 阅读全文
posted @ 2023-02-13 22:06 带刺的坐椅 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 1、定义构建能力注解,比如@Controller 注解类: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Controller { } 注解类能力注册: // 阅读全文
posted @ 2023-02-13 21:58 带刺的坐椅 阅读(36) 评论(0) 推荐(0) 编辑