Download

Jerry Lee edited this page Mar 10, 2013 · 13 revisions

下载

最新版本是0.4.0(2013-03-10),欢迎使用。

这个版本改成Protocol的使用方式,去掉了Adaptive的用法(不兼容)。用法见Quick Start

开源许可

Apache License 2.0

Copyright 2012-2013 Cooma Team.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

运行环境

需要 JDK1.5+

Maven依赖

<project>
    <dependencies>
        <dependency>
            <groupId>com.metaframe</groupId>
            <artifactId>cooma</artifactId>
            <version>0.3.0</version>
        </dependency>
        <!-- 日志库,Cooma使用SLF4J -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <!-- 可以根据自己需要调整SLF4J使用日志实现,比如logback, jdk14 etc -->
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.6.6</version>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
            <id>metaframe-repository</id>
            <name>Metaframe Maven Repository</name>
            <url>http://metaframe.github.com/repo</url>
        </repository>
    </repositories>
<project>

# 注意:Cooma使用SLF4J来打日志,要加好SLF4J使用日志实现。参见SLF4J user manual的 【Declaring project dependencies for logging】一节的说明。

直接使用Jar

Version 0.4.0

cooma-0.4.0.jar
cooma-0.4.0-sources.jar

Version 0.3.0

cooma-0.3.0.jar
cooma-0.3.0-sources.jar

Version 0.2.1

cooma-0.2.1.jar
cooma-0.2.1-sources.jar

Version 0.2.0

cooma-0.2.0.jar
cooma-0.2.0-sources.jar

Version 0.1.1

cooma-0.1.1.jar
cooma-0.1.1-sources.jar

Version 0.1.0

cooma-0.1.0.jar
cooma-0.1.0-sources.jar

# 注意:Cooma使用SLF4J来打日志,要加好SLF4J的Jar:

历史版本

版本号 发布日期 二进制包 源码包 源工程包 Ticket记录
0.4.0 2013-03-10 0.4.0.jar 0.4.0-sources.jar 0.4.0.zip 0.4.0
0.3.0 2013-03-01 0.3.0.jar 0.3.0-sources.jar 0.3.0.zip 0.3.0
0.2.1 2013-02-16 0.2.1.jar 0.2.1-sources.jar 0.2.1.zip 0.2.1
0.2.0 2013-02-13 0.2.0.jar 0.2.0-sources.jar 0.2.0.zip 0.2.0
0.1.1 2013-02-11 0.1.1.jar 0.1.1-sources.jar 0.1.1.zip 0.1.1
0.1.0 2013-02-09 0.1.0.jar 0.1.0-sources.jar 0.1.0.zip 0.1.0

变更记录

0.4.0(2013-03-10)

这个版本改成Protocol的使用方式,去掉了Adaptive的用法(不兼容之前的版本)。

  1. 支持以原型方式管理扩展点。
  2. 注入依赖的扩展点出错要抛异常。

0.3.0(2013-03-01)

重构了Adaptive用法(不兼容),简化了概念和使用方式,因此不要使用之前的版本。

  1. Adaptive重构,去掉对Config概念的依赖。
  2. 在扩展点配置文件支持属性,ExtensionLoader获取扩展的属性。
  3. 重构完成后更新Demo和文档
  4. Bug Fix: NAME_PATTERN正则表达式错误
  5. 公共方法:属性名到get方法名
  6. AdaptiveInstance的调用性能损耗测试
  7. 包名改成com.alibaba.cooma

0.2.1(2013-02-16)

  1. 补全Wrapper实现,getAdaptiveInstance、getDefaultExtension方法返回扩展实例可以指定Wrapper。
  2. 删除没有必要的getExtName方法。
  3. 把获取Adaptive注释上配置的Key值的逻辑从Proxy InvocationHandler中移到createAdaptiveInstance中。
  4. 清理代码和注释。
  5. 更新Wrapper相关的Demo和文档。
  6. cooma配置文件格式在文档中说明。
  7. 开发者文档中调用关系图更新。

0.2.0(2013-02-13)

  1. 扩展Wrapper设计调整。
    • Wrapper类存储名字,这样可以用名字来定位。
    • Wrapper类不要自动加载。
  2. 扩展点配置文件格式加强。
  3. 统一相关术语使用Extension。
  4. 添加UT,确认:没有缺省构造函数的扩展点行为。
  5. 加载出错时,异常信息中要区分Extension、Wrapper。

0.1.1(2013-02-11)

  1. BugFix:手写的adaptive class不能生效。
  2. createExtension要Cache操作的Throwable。
  3. 统一getExtension:getDefaultExtension的返回方式。
  4. Adaptive Instance要能正确处理Object的方法(toString, hashcode...)。
  5. adaptive extension术语改成adaptive instance。
  6. 添加Config类的UT。
  7. 文档中加上核心概念的说明。
  8. 文档中加上QuickStart说明、代码中添加对应的Demo。

0.1.0(2013-02-09)

  1. 从Dubbo中拿出代码独立出实现。
  2. BugFix: 注入其它扩展点的Adaptive Instance时,即使要注入的扩展点没有实现也要注入Adaptive Instance。
  3. 去Logging适配,简化实现。
  4. 去javassist依赖,简化实现
  5. com.metaframe.cooma.ExtensionLoader#getExtensionName方法先加载扩展点类
  6. 简化com.metaframe.cooma.ExtensionLoader#createAdaptiveInstance。
  7. 扩展点名合法字符检验
  8. com.metaframe.cooma.ExtensionLoader#rethrowAsRuntime方法,统一加上new IllegalStateException。
  9. 清理getExtClasses & getAdaptiveInstance的调用关系。
  10. 公开的类和方法上都要加上javadoc @since,这样方便用户保证兼容性。
  11. 开发者文档中说明ExtensionLoader调用关系。
  12. readme中加上同类产品。
  13. 清除代码中的TODO、FIXME
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.