本文整理匯總了Java中com.baidu.disconf.client.common.model.DisconfCenterFile.getKeyMaps方法的典型用法代碼示例。如果您正苦於以下問題:Java DisconfCenterFile.getKeyMaps方法的具體用法?Java DisconfCenterFile.getKeyMaps怎麽用?Java DisconfCenterFile.getKeyMaps使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.baidu.disconf.client.common.model.DisconfCenterFile
的用法示例。
在下文中一共展示了DisconfCenterFile.getKeyMaps方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: inject2Instance
import com.baidu.disconf.client.common.model.DisconfCenterFile; //導入方法依賴的package包/類
/**
*
*/
@Override
public void inject2Instance(Object object, String fileName) {
DisconfCenterFile disconfCenterFile = getInstance().getConfFileMap().get(fileName);
// 校驗是否存在
if (disconfCenterFile == null) {
LOGGER.error("cannot find " + fileName + " in store....");
return;
}
//
// 靜態類
//
if (object != null) {
// 設置object
disconfCenterFile.setObject(object);
}
// 根據類型設置值
//
// 注入實體
//
Map<String, FileItemValue> keMap = disconfCenterFile.getKeyMaps();
for (String fileItem : keMap.keySet()) {
// 根據類型設置值
try {
//
// 靜態類
//
if (object == null) {
if (keMap.get(fileItem).isStatic()) {
LOGGER.debug(fileItem + " is a static field. ");
keMap.get(fileItem).setValue4StaticFileItem(keMap.get(fileItem).getValue());
}
//
// 非靜態類
//
} else {
LOGGER.debug(fileItem + " is a non-static field. ");
if (keMap.get(fileItem).getValue() == null) {
// 如果倉庫值為空,則實例 直接使用默認值
Object defaultValue = keMap.get(fileItem).getFieldDefaultValue(object);
keMap.get(fileItem).setValue(defaultValue);
} else {
// 如果倉庫裏的值為非空,則實例使用倉庫裏的值
keMap.get(fileItem).setValue4FileItem(object, keMap.get(fileItem).getValue());
}
}
} catch (Exception e) {
LOGGER.error("inject2Instance fileName " + fileName + " " + e.toString(), e);
}
}
}
示例2: inject2Store
import com.baidu.disconf.client.common.model.DisconfCenterFile; //導入方法依賴的package包/類
/**
*
*/
@Override
public void inject2Store(String fileName, DisconfValue disconfValue) {
DisconfCenterFile disconfCenterFile = getInstance().getConfFileMap().get(fileName);
// 校驗是否存在
if (disconfCenterFile == null) {
LOGGER.error("cannot find " + fileName + " in store....");
return;
}
if (disconfValue == null || disconfValue.getFileData() == null) {
LOGGER.error("value is null for {}", fileName);
return;
}
// 存儲
Map<String, FileItemValue> keMap = disconfCenterFile.getKeyMaps();
if (keMap.size() > 0) {
for (String fileItem : keMap.keySet()) {
Object object = disconfValue.getFileData().get(fileItem);
if (object == null) {
LOGGER.error("cannot find {} to be injected. file content is: {}", fileItem,
disconfValue.getFileData().toString());
continue;
}
// 根據類型設置值
try {
Object value = keMap.get(fileItem).getFieldValueByType(object);
keMap.get(fileItem).setValue(value);
} catch (Exception e) {
LOGGER.error("inject2Store filename: " + fileName + " " + e.toString(), e);
}
}
}
// 使用過 XML式配置
if (disconfCenterFile.isTaggedWithNonAnnotationFile()) {
if (disconfCenterFile.getSupportFileTypeEnum().equals(SupportFileTypeEnum.PROPERTIES)) {
// 如果是采用XML進行配置的,則需要利用spring的reload將數據reload到bean裏
ReloadConfigurationMonitor.reload();
}
disconfCenterFile.setAdditionalKeyMaps(disconfValue.getFileData());
}
}