All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.fartherp.framework.common.extension.SPI Maven / Gradle / Ivy

There is a newer version: 3.0.6
Show newest version
/*
 * Copyright (c) 2017. CK. All rights reserved.
 */
package com.github.fartherp.framework.common.extension;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 扩展点接口的标识。
 * 

* 扩展点声明配置文件,格式修改。
* 以Protocol示例,配置文件META-INF/dubbo/com.xxx.Protocol内容:
* 由
*

com.foo.XxxProtocol
 * com.foo.YyyProtocol

* 改成使用KV格式
*
xxx=com.foo.XxxProtocol
 * yyy=com.foo.YyyProtocol
 * 
*
* 原因:
* 当扩展点的static字段或方法签名上引用了三方库, * 如果三方库不存在,会导致类初始化失败, * Extension标识Dubbo就拿不到了,异常信息就和配置对应不起来。 *
* 比如: * Extension("mina")加载失败, * 当用户配置使用mina时,就会报找不到扩展点, * 而不是报加载扩展点失败,以及失败原因。 * * @author ck */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE}) public @interface SPI { /** * 缺省扩展点名。 */ String value() default ""; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy