发布功能
- Adaptive重构,去掉对Config概念的依赖。
- 在扩展点配置文件支持属性,ExtensionLoader获取扩展的属性。
- 重构完成后更新Demo和文档
- Bug Fix: NAME_PATTERN正则表达式错误
- 公共方法:属性名到get方法名
- AdaptiveInstance的调用性能损耗测试
这版本重构了“Adaptive重构,去掉对Config概念的依赖”、“ExtensionLoader获取扩展的属性”,功能比较完整,这个让概念和使用更清楚。
推荐此版本,没有使用之前的版本。
在文档有示例说明。
发布链接
- 项目文档
- release tickets
- 下载
有如何加Maven依赖的说明 - 工程项目页
概述
Cooma适用于为框架的实现动态扩展点(Extension)加载和配置。
实现原型来自于Service implementation of JDK5。
参见Quick Start中的示例代码及其说明,快速了解。
概念上极简独立
- 完全割除与容器不相关的概念。
- 审视已有的概念,谨慎引入新概念。
实现上简单直白
- 不算注释,实现代码 少于1000行。
- 保持代码可读性。
- 不考虑没有实际应用的概念。
- 谨慎对待性能优化;不能因此打乱代码的简单性。
集成上的简易灵活
- 保持灵活的扩展性。
- 开发者友好。
- 集成是否简易是设计是否良好的有效指标。
功能
- 以插件方式加载扩展
- 支持依赖扩展点的自动加载(扩展的IOC)
- 可以有扩展点Wrapper,为扩展写公共Filter代码(扩展的AOP)
- 统一的配置方式来配置各级扩展点
- 查询插件实现
- 支持配置方式/编程方式
核心概念
- Extension Point,扩展点,要扩展的接口
- Extension,扩展,即扩展点的实现
- Extension Instance,扩展实例,即扩展点实现类的实例
# ExtensionLoader中维护了Extension Instance的 单例。 - Extension Adaptive Instance,扩展的自适应实例
- Extension Wrapper,所有扩展点实现调用时都会先触发的执行
FEATURED TAGS
生活
blog
Java
shell
Unix/Linux
unix
Groovy
jms
mom
middleware
extension
log4j
philosophy
原则
最佳实践
Shell
generic
gnu
windows
cmd
tips
dubbo
Service
设计
class
date
i/o
api
design
服务
优劣
Linux
git
week
日期
星期
计算
月份
命令行
配置
Windows
Dubbo
约定
权限
Command Line
发布
java
cooma
release
微容器
github
microcontainer
扩展点
容器