【仅供内部供应商使用,不提供对外解答和培训】

Page tree

【仅供内部供应商使用,不提供对外解答和培训】

Skip to end of metadata
Go to start of metadata

问题

有时候为了某些特定的功能,可能会需要更改产品提供的接口,但是已经发布的插件并无法知道接口已经更改,这个时候如果没有提示的话,就会出现设计器无法启动、服务器无法启动等问题。

解决方案

提供一个用于标记API等级等接口com.fr.stable.fun.Level,该接口只有一个方法

 

package com.fr.stable.fun;

public interface Level {

    /**
     * 当前接口的API等级,用于判断是否需要升级插件
     *
     * @return API等级
     */
    int currentAPILevel();
}

 

需要做版本标记的接口则继承此接口,并在自身接口内提供一个API等级的常量,比如这里的CURRENT_API_LEVEL

 

public interface IndependentChartProvider extends Level {

    String XML_TAG = "IndependentChartProvider";

    int CURRENT_API_LEVEL = 1;
}

 

实现这个接口的方法则需要实现 int currentAPILevel()方法

 

public class IndependentVanChartProvider extends AbstractIndependentChartProvider {

    @Override
    public int currentAPILevel() {
        return CURRENT_API_LEVEL;
    }
}

 

当需要提示低版本插件升级时,只需要更改接口IndependentChartProvider中的CURRENT_API_LEVEL为更大的值即可

效果

当有低版本的插件需要升级时,运行过程中会有警告提示,类似于
插件版本过低,请升级插件,当前插件将无法加载:xxx

在设计器中会有弹出提示插件版本过低的对话框

  • No labels