简介

A plugin is a way for a third party to extend the functionality of an application. A plugin implements extension points declared by application or other plugins. Also a plugin can define extension points.

原理

pf4j整理

原理图

原理图

整体接口图

pf4j整理

整体接口图

流程

注解处理器

注解处理器(Annotation Processor)是javac内置的一个用于编译时扫描和处理注解(Annotation)的工具。简单的说,在源代码编译阶段,通过注解处理器,我们可以获取源文件内注解(Annotation)相关内容。

 

pf4j整理

ExtensionAnnotationProcessor注解处理器

 

pf4j整理

注解处理器配置

 

pf4j整理

生成extensions.idx

 

在打plugin包的时候,也会在插件jar包中生成extensions.idex文件,如下图所示:

 

pf4j整理

plugin解压之后

 

pf4j整理

plugin打包的时候也会有extensions.idx文件

loadPlugin流程

pf4j整理

loadPlugin流程

startPlugin流程

pf4j整理

startPlugin流程

getExtension获取扩展点

pf4j整理

getExtension获取对应的扩展点实现

 

相关文章:

  • 2022-12-23
  • 2021-10-08
  • 2021-06-30
  • 2022-12-23
  • 2021-12-26
猜你喜欢
  • 2021-12-17
  • 2022-12-23
  • 2021-08-26
  • 2022-12-23
  • 2022-02-12
相关资源
相似解决方案