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

Page tree

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

Skip to end of metadata
Go to start of metadata

前言

在帆软的产品中,有一些通用的配置文件,是存储在resources/config.xml中,但是如果插件或者其他模块也想要存储一些信息,可以根据文档保存配置信息到服务器新写一个配置文件,用于保存插件使用的配置信息。但是这种方式,对于只希望存储一点点配置信息而言,比较复杂。

解决方案

在resources/config.xml的对应管理类com.fr.base.ConfigManager中,提供了一个可变的配置接口。

/**
 * 获取扩展配置属性
 *
 * @param key 扩展配置属性的类别
 * @return 值
 */
String getFlexibleValue(String key);
 
/**
 * 获取扩展配置属性
 *
 * @param key 扩展配置属性的类别
 * @return 值
 */
String[] getFlexibleValues(String key);

/**
 * 设置扩展配置属性
 *
 * @param key   配置属性的类别,不可以和其他的重复
 * @param value 配置属性的值
 */
void setFlexibleValue(String key, String value);

要增加新的配置属性,可以修改resources/config.xml,增加一个Flexible节点,部分截图如下:

Flexible节点下可以有多个相同的节点形如:

<Flexible>
   <Port>8878</Port>
   <Port>8879</Port>
</Flexible>

然后通过

String[] values = ConfigManager.getProviderInstance().getFlexibleValues("Port");

的方式获取。

读取方式

读取的时候只要按如下的方式调用,就可以获取PhantomPath的值了:

String path = ConfigManager.getProviderInstance().getFlexibleValue("PhantomPath");

写入方式

ConfigManager.getProviderInstance().setFlexibleValue("PhantomPath", "/assist/phantom");
FRContext.getCurrentEnv().writeResource(ConfigManager.getProviderInstance());
  • No labels