-
Notifications
You must be signed in to change notification settings - Fork 74
微内核 插件机制
quhongwei edited this page Mar 28, 2018
·
1 revision
组件以微内核+插件机制设计, 微内核即组件实现一些常用核心功能,扩展功能用插件以spi接口形式开放给用户。以存储操作为例,在文件的读写,分片,合并,校验或者排序过程中都需要针对具体存储进行操作,组件只依赖接口,具体实现由参数传递的存储类型加载。
- ExtensionLoader 是加载插件的核心部件,会扫描classpath:META-INF/rdf-file/services/下所有文件,插件实现后配置放到这个目录下
- SPI模块在com.alipay.rdf.file.spi包下都可以通过插件扩展
- spi接口名作为服务扩展插件的文件名,文件中配置key是扩展实现名字,value是扩展实现类
如:内置行分割器实现,文件名是:com.alipay.rdf.file.spi.RdfFileRowSplitSpi, 文件内容如下
rowSplitBySeparator=com.alipay.rdf.file.split.RowSplitBySeparator
rowSplitByFixedlLength=com.alipay.rdf.file.split.RowSplitByFixedlLength