@Repository public class PersistService extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
PersistService.ConfigInfoBetaWrapper |
static class |
PersistService.ConfigInfoTagWrapper |
static class |
PersistService.ConfigInfoWrapper |
| Constructor and Description |
|---|
PersistService() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addAggrConfigInfo(String dataId,
String group,
String tenant,
String datumId,
String appName,
String content)
增加聚合前数据到数据库, select -> update or insert
|
void |
addConfigInfo(String srcIp,
String srcUser,
ConfigInfo configInfo,
Timestamp time,
Map<String,Object> configAdvanceInfo,
boolean notify)
添加普通配置信息,发布数据变更事件
|
void |
addConfigInfo4Beta(ConfigInfo configInfo,
String betaIps,
String srcIp,
String srcUser,
Timestamp time,
boolean notify)
添加普通配置信息,发布数据变更事件
|
void |
addConfigInfo4Tag(ConfigInfo configInfo,
String tag,
String srcIp,
String srcUser,
Timestamp time,
boolean notify)
添加普通配置信息,发布数据变更事件
|
void |
addConfiTagRelationAtomic(long configId,
String tagName,
String dataId,
String group,
String tenant)
增加配置;数据库原子操作,最小sql动作,无业务封装
|
void |
addConfiTagsRelationAtomic(long configId,
String configTags,
String dataId,
String group,
String tenant)
增加配置;数据库原子操作,最小sql动作,无业务封装
|
int |
aggrConfigInfoCount(String dataId,
String group,
String tenant) |
int |
aggrConfigInfoCountIn(String dataId,
String group,
String tenant,
List<String> datumIds) |
int |
aggrConfigInfoCountNotIn(String dataId,
String group,
String tenant,
List<String> datumIds) |
boolean |
batchPublishAggr(String dataId,
String group,
String tenant,
Map<String,String> datumMap,
String appName)
批量添加或者更新数据.事务过程中出现任何异常都会强制抛出TransactionSystemException
|
boolean |
batchRemoveAggr(String dataId,
String group,
String tenant,
List<String> datumList)
批量删除聚合数据,需要指定datum的列表
|
boolean |
checkMasterWritable() |
Boolean |
completeMd5() |
int |
configInfoBetaCount()
返回beta配置项个数
|
int |
configInfoCount()
返回配置项个数
|
int |
configInfoCount(String tenant)
返回配置项个数
|
int |
configInfoTagCount()
返回beta配置项个数
|
ConfigHistoryInfo |
detailConfigHistory(Long nid) |
List<ConfigInfoChanged> |
findAllAggrGroup()
找到所有聚合数据组。
|
Page<ConfigInfo> |
findAllConfigInfo(int pageNo,
int pageSize,
String tenant)
分页查询所有的配置信息
|
Page<ConfigInfoBase> |
findAllConfigInfoBase(int pageNo,
int pageSize)
Deprecated.
|
Page<PersistService.ConfigInfoBetaWrapper> |
findAllConfigInfoBetaForDumpAll(int pageNo,
int pageSize) |
Page<PersistService.ConfigInfoWrapper> |
findAllConfigInfoForDumpAll(int pageNo,
int pageSize) |
Page<PersistService.ConfigInfoWrapper> |
findAllConfigInfoFragment(long lastMaxId,
int pageSize) |
Page<PersistService.ConfigInfoTagWrapper> |
findAllConfigInfoTagForDumpAll(int pageNo,
int pageSize) |
Page<ConfigKey> |
findAllConfigKey(int pageNo,
int pageSize,
String tenant)
分页查询所有的配置信息
|
List<ConfigInfo> |
findAllDataIdAndGroup()
Deprecated.
|
Page<PersistService.ConfigInfoWrapper> |
findChangeConfig(String dataId,
String group,
String tenant,
String appName,
Timestamp startTime,
Timestamp endTime,
int pageNo,
int pageSize,
long lastMaxId)
根据时间段和配置条件查询符合条件的配置
|
List<PersistService.ConfigInfoWrapper> |
findChangeConfig(Timestamp startTime,
Timestamp endTime) |
ConfigAdvanceInfo |
findConfigAdvanceInfo(String dataId,
String group,
String tenant)
查询配置信息;数据库原子操作,最小sql动作,无业务封装
|
ConfigAllInfo |
findConfigAllInfo(String dataId,
String group,
String tenant)
查询配置信息;数据库原子操作,最小sql动作,无业务封装
|
Page<ConfigHistoryInfo> |
findConfigHistory(String dataId,
String group,
String tenant,
int pageNo,
int pageSize)
list配置的历史变更记录
|
int |
findConfigHistoryCountByTime(Timestamp startTime)
获取指定时间前配置条数
|
ConfigInfo |
findConfigInfo(long id)
根据数据库主键ID查询配置信息
|
ConfigInfo |
findConfigInfo(String dataId,
String group,
String tenant)
查询配置信息;数据库原子操作,最小sql动作,无业务封装
|
ConfigInfo4Beta |
findConfigInfo4Beta(String dataId,
String group,
String tenant)
根据dataId和group查询配置信息
|
Page<ConfigInfo> |
findConfigInfo4Page(int pageNo,
int pageSize,
String dataId,
String group,
String tenant,
Map<String,Object> configAdvanceInfo) |
ConfigInfo4Tag |
findConfigInfo4Tag(String dataId,
String group,
String tenant,
String tag)
根据dataId和group查询配置信息
|
ConfigInfo |
findConfigInfoAdvanceInfo(String dataId,
String group,
String tenant,
Map<String,Object> configAdvanceInfo)
根据dataId和group查询配置信息
|
List<ConfigInfoAggr> |
findConfigInfoAggr(String dataId,
String group,
String tenant)
查找一个dataId下面的所有聚合前的数据.
|
Page<ConfigInfoAggr> |
findConfigInfoAggrByPage(String dataId,
String group,
String tenant,
int pageNo,
int pageSize) |
Page<ConfigInfoAggr> |
findConfigInfoAggrLike(int pageNo,
int pageSize,
ConfigKey[] configKeys,
boolean blacklist)
查询符合条件的聚合数据
|
ConfigInfo |
findConfigInfoApp(String dataId,
String group,
String tenant,
String appName)
根据dataId和group查询配置信息
|
ConfigInfoBase |
findConfigInfoBase(String dataId,
String group)
根据dataId和group查询配置信息
|
Page<ConfigInfoBase> |
findConfigInfoBaseByDataId(int pageNo,
int pageSize,
String dataId)
根据dataId查询配置信息
|
Page<ConfigInfoBase> |
findConfigInfoBaseByGroup(int pageNo,
int pageSize,
String group)
根据group查询配置信息
|
Page<ConfigInfoBase> |
findConfigInfoBaseLike(int pageNo,
int pageSize,
String dataId,
String group,
String content)
根据dataId和group模糊查询配置信息
|
Page<ConfigInfo> |
findConfigInfoByAdvance(int pageNo,
int pageSize,
String tenant,
Map<String,Object> configAdvanceInfo) |
Page<ConfigInfo> |
findConfigInfoByApp(int pageNo,
int pageSize,
String tenant,
String appName)
根据group查询配置信息
|
List<ConfigInfo> |
findConfigInfoByBatch(List<String> dataIds,
String group,
String tenant,
int subQueryLimit)
通过select in方式实现db记录的批量查询; subQueryLimit指定in中条件的个数,上限20
|
Page<ConfigInfo> |
findConfigInfoByDataId(int pageNo,
int pageSize,
String dataId,
String tenant)
根据dataId查询配置信息
|
Page<ConfigInfo> |
findConfigInfoByDataIdAndAdvance(int pageNo,
int pageSize,
String dataId,
String tenant,
Map<String,Object> configAdvanceInfo) |
Page<ConfigInfo> |
findConfigInfoByDataIdAndApp(int pageNo,
int pageSize,
String dataId,
String tenant,
String appName)
根据dataId查询配置信息
|
Page<ConfigInfo> |
findConfigInfoByGroup(int pageNo,
int pageSize,
String group,
String tenant)
根据group查询配置信息
|
Page<ConfigInfo> |
findConfigInfoByGroupAndAdvance(int pageNo,
int pageSize,
String group,
String tenant,
Map<String,Object> configAdvanceInfo) |
Page<ConfigInfo> |
findConfigInfoByGroupAndApp(int pageNo,
int pageSize,
String group,
String tenant,
String appName)
根据group查询配置信息
|
Page<ConfigInfo> |
findConfigInfoLike(int pageNo,
int pageSize,
ConfigKey[] configKeys,
boolean blacklist)
根据dataId和group模糊查询配置信息
|
Page<ConfigInfo> |
findConfigInfoLike(int pageNo,
int pageSize,
String dataId,
String group,
String tenant,
String appName,
String content)
根据dataId和group模糊查询配置信息
|
Page<ConfigInfo> |
findConfigInfoLike4Page(int pageNo,
int pageSize,
String dataId,
String group,
String tenant,
Map<String,Object> configAdvanceInfo) |
long |
findConfigMaxId()
获取最大maxId
|
List<String> |
findDatumIdByContent(String dataId,
String groupId,
String content)
由datum内容查找datumId
|
List<ConfigInfo> |
findDeletedConfig(Timestamp startTime,
Timestamp endTime) |
ConfigInfoAggr |
findSingleConfigInfoAggr(String dataId,
String group,
String tenant,
String datumId)
查找聚合前的单条数据
|
List<TenantInfo> |
findTenantByKp(String kp) |
TenantInfo |
findTenantByKp(String kp,
String tenantId) |
User |
findUserByUsername(String username) |
List<String> |
getConfigTagsByTenant(String tenant) |
String |
getCurrentDBUrl() |
List<String> |
getGroupIdList(int page,
int pageSize) |
org.springframework.jdbc.core.JdbcTemplate |
getJdbcTemplate()
单元测试用
|
List<String> |
getTenantIdList(int page,
int pageSize) |
org.springframework.transaction.support.TransactionTemplate |
getTransactionTemplate() |
void |
init() |
void |
insertOrUpdate(String srcIp,
String srcUser,
ConfigInfo configInfo,
Timestamp time,
Map<String,Object> configAdvanceInfo) |
void |
insertOrUpdate(String srcIp,
String srcUser,
ConfigInfo configInfo,
Timestamp time,
Map<String,Object> configAdvanceInfo,
boolean notify)
写入主表,插入或更新
|
void |
insertOrUpdateBeta(ConfigInfo configInfo,
String betaIps,
String srcIp,
String srcUser,
Timestamp time,
boolean notify) |
void |
insertOrUpdateSub(SubInfo subInfo)
写入主表,插入或更新
|
void |
insertOrUpdateTag(ConfigInfo configInfo,
String tag,
String srcIp,
String srcUser,
Timestamp time,
boolean notify) |
void |
insertTenantInfoAtomic(String kp,
String tenantId,
String tenantName,
String tenantDesc,
String createResoure,
long time)
insert tenant info
|
boolean |
isExistTable(String tableName) |
List<PersistService.ConfigInfoWrapper> |
listAllGroupKeyMd5()
获取所有的配置的Md5值,通过分页方式获取。
|
PersistService.ConfigInfoWrapper |
queryConfigInfo(String dataId,
String group,
String tenant) |
void |
reload() |
void |
removeAggrConfigInfo(String dataId,
String group,
String tenant)
删除一个dataId下面所有的聚合前数据
|
void |
removeConfigHistory(Timestamp startTime,
int limitSize)
删除startTime前的数据
|
void |
removeConfigInfo(String dataId,
String group,
String tenant,
String srcIp,
String srcUser)
删除配置信息, 物理删除
|
void |
removeConfigInfo4Beta(String dataId,
String group,
String tenant)
删除beta配置信息, 物理删除
|
void |
removeConfigInfoTag(String dataId,
String group,
String tenant,
String tag,
String srcIp,
String srcUser)
删除配置;数据库原子操作,最小sql动作,无业务封装
|
void |
removeSingleAggrConfigInfo(String dataId,
String group,
String tenant,
String datumId)
删除单条聚合前数据
|
void |
removeTagByIdAtomic(long id) |
void |
removeTenantInfoAtomic(String kp,
String tenantId) |
boolean |
replaceAggr(String dataId,
String group,
String tenant,
Map<String,String> datumMap,
String appName)
批量替换,先全部删除聚合表中指定DataID+Group的数据,再插入数据.
|
List<String> |
selectTagByConfig(String dataId,
String group,
String tenant) |
void |
setBasicDataSourceService(DataSourceService dataSourceService) |
void |
updateConfigInfo(ConfigInfo configInfo,
String srcIp,
String srcUser,
Timestamp time,
Map<String,Object> configAdvanceInfo,
boolean notify)
更新配置信息
|
void |
updateConfigInfo4Beta(ConfigInfo configInfo,
String srcIp,
String srcUser,
Timestamp time,
boolean notify)
更新配置信息
|
void |
updateConfigInfo4Tag(ConfigInfo configInfo,
String tag,
String srcIp,
String srcUser,
Timestamp time,
boolean notify)
更新配置信息
|
void |
updateMd5(String dataId,
String group,
String tenant,
String md5,
Timestamp lastTime)
更新md5
|
void |
updateTenantNameAtomic(String kp,
String tenantId,
String tenantName,
String tenantDesc)
Update tenantInfo showname
|
@PostConstruct public void init()
public boolean checkMasterWritable()
public void setBasicDataSourceService(DataSourceService dataSourceService)
public void reload()
throws IOException
IOExceptionpublic org.springframework.jdbc.core.JdbcTemplate getJdbcTemplate()
public org.springframework.transaction.support.TransactionTemplate getTransactionTemplate()
public String getCurrentDBUrl()
public void addConfigInfo(String srcIp, String srcUser, ConfigInfo configInfo, Timestamp time, Map<String,Object> configAdvanceInfo, boolean notify)
public void addConfigInfo4Beta(ConfigInfo configInfo, String betaIps, String srcIp, String srcUser, Timestamp time, boolean notify)
public void addConfigInfo4Tag(ConfigInfo configInfo, String tag, String srcIp, String srcUser, Timestamp time, boolean notify)
public void updateConfigInfo(ConfigInfo configInfo, String srcIp, String srcUser, Timestamp time, Map<String,Object> configAdvanceInfo, boolean notify)
public void updateConfigInfo4Beta(ConfigInfo configInfo, String srcIp, String srcUser, Timestamp time, boolean notify)
public void updateConfigInfo4Tag(ConfigInfo configInfo, String tag, String srcIp, String srcUser, Timestamp time, boolean notify)
public void insertOrUpdateBeta(ConfigInfo configInfo, String betaIps, String srcIp, String srcUser, Timestamp time, boolean notify)
public void insertOrUpdateTag(ConfigInfo configInfo, String tag, String srcIp, String srcUser, Timestamp time, boolean notify)
public void updateMd5(String dataId, String group, String tenant, String md5, Timestamp lastTime)
public void insertOrUpdate(String srcIp, String srcUser, ConfigInfo configInfo, Timestamp time, Map<String,Object> configAdvanceInfo)
public void insertOrUpdate(String srcIp, String srcUser, ConfigInfo configInfo, Timestamp time, Map<String,Object> configAdvanceInfo, boolean notify)
public void insertOrUpdateSub(SubInfo subInfo)
public void removeConfigInfo(String dataId, String group, String tenant, String srcIp, String srcUser)
public void removeConfigInfo4Beta(String dataId, String group, String tenant)
public boolean addAggrConfigInfo(String dataId, String group, String tenant, String datumId, String appName, String content)
public void removeSingleAggrConfigInfo(String dataId, String group, String tenant, String datumId)
public void removeAggrConfigInfo(String dataId, String group, String tenant)
public boolean batchRemoveAggr(String dataId, String group, String tenant, List<String> datumList)
dataId - group - datumList - public void removeConfigHistory(Timestamp startTime, int limitSize)
public int findConfigHistoryCountByTime(Timestamp startTime)
public long findConfigMaxId()
public boolean batchPublishAggr(String dataId, String group, String tenant, Map<String,String> datumMap, String appName)
dataId - group - datumMap - public boolean replaceAggr(String dataId, String group, String tenant, Map<String,String> datumMap, String appName)
dataId - group - datumMap - @Deprecated public List<ConfigInfo> findAllDataIdAndGroup()
public ConfigInfo4Beta findConfigInfo4Beta(String dataId, String group, String tenant)
public ConfigInfo4Tag findConfigInfo4Tag(String dataId, String group, String tenant, String tag)
public ConfigInfo findConfigInfoApp(String dataId, String group, String tenant, String appName)
public ConfigInfo findConfigInfoAdvanceInfo(String dataId, String group, String tenant, Map<String,Object> configAdvanceInfo)
public ConfigInfoBase findConfigInfoBase(String dataId, String group)
public ConfigInfo findConfigInfo(long id)
id - public Page<ConfigInfo> findConfigInfoByDataId(int pageNo, int pageSize, String dataId, String tenant)
pageNo - 页码(必须大于0)pageSize - 每页大小(必须大于0)dataId - public Page<ConfigInfo> findConfigInfoByDataIdAndApp(int pageNo, int pageSize, String dataId, String tenant, String appName)
pageNo - 页码(必须大于0)pageSize - 每页大小(必须大于0)dataId - public Page<ConfigInfo> findConfigInfoByDataIdAndAdvance(int pageNo, int pageSize, String dataId, String tenant, Map<String,Object> configAdvanceInfo)
public Page<ConfigInfo> findConfigInfo4Page(int pageNo, int pageSize, String dataId, String group, String tenant, Map<String,Object> configAdvanceInfo)
public Page<ConfigInfoBase> findConfigInfoBaseByDataId(int pageNo, int pageSize, String dataId)
pageNo - 页码(必须大于0)pageSize - 每页大小(必须大于0)dataId - public Page<ConfigInfo> findConfigInfoByGroup(int pageNo, int pageSize, String group, String tenant)
pageNo - 页码(必须大于0)pageSize - 每页大小(必须大于0)group - public Page<ConfigInfo> findConfigInfoByGroupAndApp(int pageNo, int pageSize, String group, String tenant, String appName)
pageNo - 页码(必须大于0)pageSize - 每页大小(必须大于0)group - public Page<ConfigInfo> findConfigInfoByGroupAndAdvance(int pageNo, int pageSize, String group, String tenant, Map<String,Object> configAdvanceInfo)
public Page<ConfigInfo> findConfigInfoByApp(int pageNo, int pageSize, String tenant, String appName)
pageNo - 页码(必须大于0)pageSize - 每页大小(必须大于0)group - public Page<ConfigInfo> findConfigInfoByAdvance(int pageNo, int pageSize, String tenant, Map<String,Object> configAdvanceInfo)
public Page<ConfigInfoBase> findConfigInfoBaseByGroup(int pageNo, int pageSize, String group)
pageNo - 页码(必须大于0)pageSize - 每页大小(必须大于0)group - public int configInfoCount()
public int configInfoCount(String tenant)
public int configInfoBetaCount()
public int configInfoTagCount()
public int aggrConfigInfoCountIn(String dataId, String group, String tenant, List<String> datumIds)
public int aggrConfigInfoCountNotIn(String dataId, String group, String tenant, List<String> datumIds)
public Page<ConfigInfo> findAllConfigInfo(int pageNo, int pageSize, String tenant)
pageNo - 页码(从1开始)pageSize - 每页大小(必须大于0)public Page<ConfigKey> findAllConfigKey(int pageNo, int pageSize, String tenant)
pageNo - 页码(从1开始)pageSize - 每页大小(必须大于0)@Deprecated public Page<ConfigInfoBase> findAllConfigInfoBase(int pageNo, int pageSize)
pageNo - 页码(从1开始)pageSize - 每页大小(必须大于0)public Page<PersistService.ConfigInfoWrapper> findAllConfigInfoForDumpAll(int pageNo, int pageSize)
public Page<PersistService.ConfigInfoWrapper> findAllConfigInfoFragment(long lastMaxId, int pageSize)
public Page<PersistService.ConfigInfoBetaWrapper> findAllConfigInfoBetaForDumpAll(int pageNo, int pageSize)
public Page<PersistService.ConfigInfoTagWrapper> findAllConfigInfoTagForDumpAll(int pageNo, int pageSize)
public List<ConfigInfo> findConfigInfoByBatch(List<String> dataIds, String group, String tenant, int subQueryLimit)
public Page<ConfigInfo> findConfigInfoLike(int pageNo, int pageSize, String dataId, String group, String tenant, String appName, String content)
pageNo - 页码(必须大于0)pageSize - 每页大小(必须大于0)dataId - 支持模糊查询group - 支持模糊查询tenant - 支持模糊查询public Page<ConfigInfo> findConfigInfoLike4Page(int pageNo, int pageSize, String dataId, String group, String tenant, Map<String,Object> configAdvanceInfo)
public Page<ConfigInfo> findConfigInfoLike(int pageNo, int pageSize, ConfigKey[] configKeys, boolean blacklist)
pageNo - 页码(必须大于0)pageSize - 每页大小(必须大于0)configKeys - 查询配置列表blacklist - 是否黑名单public Page<ConfigInfoBase> findConfigInfoBaseLike(int pageNo, int pageSize, String dataId, String group, String content) throws IOException
pageNo - 页码(必须大于0)pageSize - 每页大小(必须大于0)dataId - group - IOExceptionpublic ConfigInfoAggr findSingleConfigInfoAggr(String dataId, String group, String tenant, String datumId)
dataId - group - datumId - public List<ConfigInfoAggr> findConfigInfoAggr(String dataId, String group, String tenant)
public Page<ConfigInfoAggr> findConfigInfoAggrByPage(String dataId, String group, String tenant, int pageNo, int pageSize)
public Page<ConfigInfoAggr> findConfigInfoAggrLike(int pageNo, int pageSize, ConfigKey[] configKeys, boolean blacklist)
pageNo - pageNopageSize - pageSizeconfigKeys - 聚合数据条件blacklist - 黑名单public List<ConfigInfoChanged> findAllAggrGroup()
public List<String> findDatumIdByContent(String dataId, String groupId, String content)
dataId - data idgroupId - groupcontent - contentpublic List<PersistService.ConfigInfoWrapper> findChangeConfig(Timestamp startTime, Timestamp endTime)
public Page<PersistService.ConfigInfoWrapper> findChangeConfig(String dataId, String group, String tenant, String appName, Timestamp startTime, Timestamp endTime, int pageNo, int pageSize, long lastMaxId)
dataId - dataId 支持模糊group - dataId 支持模糊appName - 产品名startTime - 起始时间endTime - 截止时间pageNo - pageNopageSize - pageSizepublic List<ConfigInfo> findDeletedConfig(Timestamp startTime, Timestamp endTime)
public void addConfiTagRelationAtomic(long configId,
String tagName,
String dataId,
String group,
String tenant)
configId - idtagName - tagdataId - data idgroup - grouptenant - tenantpublic void addConfiTagsRelationAtomic(long configId,
String configTags,
String dataId,
String group,
String tenant)
configId - config idconfigTags - tagsdataId - dataIdgroup - grouptenant - tenantpublic void removeTagByIdAtomic(long id)
public void removeConfigInfoTag(String dataId, String group, String tenant, String tag, String srcIp, String srcUser)
dataId - dataIdgroup - grouptenant - tenanttag - tagsrcIp - ipsrcUser - userpublic ConfigInfo findConfigInfo(String dataId, String group, String tenant)
dataId - dataIdgroup - grouptenant - tenantpublic ConfigAdvanceInfo findConfigAdvanceInfo(String dataId, String group, String tenant)
dataId - dataIdgroup - grouptenant - tenantpublic ConfigAllInfo findConfigAllInfo(String dataId, String group, String tenant)
dataId - dataIdgroup - grouptenant - tenantpublic Page<ConfigHistoryInfo> findConfigHistory(String dataId, String group, String tenant, int pageNo, int pageSize)
dataId - data Idgroup - grouptenant - tenantpageNo - nopageSize - sizepublic ConfigHistoryInfo detailConfigHistory(Long nid)
public void insertTenantInfoAtomic(String kp, String tenantId, String tenantName, String tenantDesc, String createResoure, long time)
kp - kptenantId - tenant IdtenantName - tenant nametenantDesc - tenant descriptiontime - timepublic void updateTenantNameAtomic(String kp, String tenantId, String tenantName, String tenantDesc)
kp - kptenantId - tenant IdtenantName - tenant nametenantDesc - tenant descriptionpublic List<TenantInfo> findTenantByKp(String kp)
public TenantInfo findTenantByKp(String kp, String tenantId)
public List<PersistService.ConfigInfoWrapper> listAllGroupKeyMd5()
public PersistService.ConfigInfoWrapper queryConfigInfo(String dataId, String group, String tenant)
public boolean isExistTable(String tableName)
public Boolean completeMd5()
Copyright © 2018–2019 Alibaba Group. All rights reserved.