类 CapacityManagementAspect
- java.lang.Object
-
- com.alibaba.nacos.config.server.aspect.CapacityManagementAspect
-
public class CapacityManagementAspect extends java.lang.ObjectCapacity management aspect: batch write and update but don't process it.- 作者:
- hexu.hxy
-
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 static classCapacityManagementAspect.LimitTypelimit type.
-
字段概要
字段 修饰符和类型 字段 说明 private CapacityServicecapacityServiceprivate static java.lang.StringDELETE_CONFIGprivate static org.slf4j.LoggerLOGGERprivate PersistServicepersistServiceprivate static java.lang.StringSYNC_UPDATE_CONFIG_ALL
-
构造器概要
构造器 构造器 说明 CapacityManagementAspect()
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 java.lang.ObjectaroundDeleteConfig(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String dataId, java.lang.String group, java.lang.String tenant)The usage of capacity table for counting module will subtracte one whether open the limitation check of capacity management.java.lang.ObjectaroundSyncUpdateConfigAll(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String dataId, java.lang.String group, java.lang.String content, java.lang.String appName, java.lang.String srcUser, java.lang.String tenant, java.lang.String tag)Need to judge the size of content whether to exceed the limitation.private voidcorrectUsage(java.lang.String group, java.lang.String tenant, boolean hasTenant)private java.lang.Objectdo4Delete(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletResponse response, java.lang.String group, java.lang.String tenant, ConfigInfo configInfo)Delete Operation.private java.lang.Objectdo4Insert(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String group, java.lang.String tenant, java.lang.String content)Write operation.private java.lang.Objectdo4Update(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String dataId, java.lang.String group, java.lang.String tenant, java.lang.String content)Update operation: open the limitation of capacity management and it will check the size of content.private voiddoResult(CounterMode counterMode, javax.servlet.http.HttpServletResponse response, java.lang.String group, java.lang.String tenant, java.lang.Object result, boolean hasTenant)private CapacitygetCapacity(java.lang.String group, java.lang.String tenant, boolean hasTenant)private intgetCurrentSize(java.lang.String content)Get and return the byte size of encoding.private intgetDefaultMaxSize(boolean isAggr)private CapacityManagementAspect.LimitTypegetGroupOrTenantLimitType(CounterMode counterMode, java.lang.String group, java.lang.String tenant, int currentSize, boolean hasTenant)private CapacityManagementAspect.LimitTypegetLimitType(CounterMode counterMode, java.lang.String group, java.lang.String tenant, java.lang.String content, boolean hasTenant)private java.lang.IntegergetMaxSize(boolean isAggr, Capacity capacity)private java.lang.ObjectgetResult(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletResponse response, java.lang.String group, java.lang.String tenant, CounterMode counterMode, boolean hasTenant)private booleanhasTenant(java.lang.String tenant)private voidinsertCapacity(java.lang.String group, java.lang.String tenant, boolean hasTenant)private voidinsertOrUpdateUsage(java.lang.String group, java.lang.String tenant, CounterMode counterMode, boolean hasTenant)Usage counting service: it will count whether the limitation check function will be open.private booleanisOverSize(java.lang.String group, java.lang.String tenant, int currentSize, int maxSize, boolean hasTenant)private booleanisSizeLimited(java.lang.String group, java.lang.String tenant, int currentSize, boolean hasTenant, boolean isAggr, Capacity capacity)private booleanisSuccess(javax.servlet.http.HttpServletResponse response, java.lang.Object result)private booleanisUpdateSuccess(CounterMode counterMode, java.lang.String group, java.lang.String tenant, boolean hasTenant)private java.lang.Objectresponse4Limit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, CapacityManagementAspect.LimitType limitType)private voidrollback(CounterMode counterMode, java.lang.String group, java.lang.String tenant, boolean hasTenant)private voidrollbackClusterUsage(CounterMode counterMode)
-
-
-
字段详细资料
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
SYNC_UPDATE_CONFIG_ALL
private static final java.lang.String SYNC_UPDATE_CONFIG_ALL
- 另请参阅:
- 常量字段值
-
DELETE_CONFIG
private static final java.lang.String DELETE_CONFIG
- 另请参阅:
- 常量字段值
-
capacityService
@Autowired private CapacityService capacityService
-
persistService
@Autowired private PersistService persistService
-
-
方法详细资料
-
aroundSyncUpdateConfigAll
public java.lang.Object aroundSyncUpdateConfigAll(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String dataId, java.lang.String group, java.lang.String content, java.lang.String appName, java.lang.String srcUser, java.lang.String tenant, java.lang.String tag) throws java.lang.ThrowableNeed to judge the size of content whether to exceed the limitation.- 抛出:
java.lang.Throwable
-
do4Update
private java.lang.Object do4Update(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String dataId, java.lang.String group, java.lang.String tenant, java.lang.String content) throws java.lang.ThrowableUpdate operation: open the limitation of capacity management and it will check the size of content.- 抛出:
java.lang.Throwable- Throws Exception when actually operate.
-
do4Insert
private java.lang.Object do4Insert(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String group, java.lang.String tenant, java.lang.String content) throws java.lang.ThrowableWrite operation. Step 1: count whether to open the limitation checking function for capacity management; Step 2: open limitation checking capacity management and check size of content and quota;- 抛出:
java.lang.Throwable- Exception.
-
response4Limit
private java.lang.Object response4Limit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, CapacityManagementAspect.LimitType limitType)
-
hasTenant
private boolean hasTenant(java.lang.String tenant)
-
aroundDeleteConfig
public java.lang.Object aroundDeleteConfig(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String dataId, java.lang.String group, java.lang.String tenant) throws java.lang.ThrowableThe usage of capacity table for counting module will subtracte one whether open the limitation check of capacity management.- 抛出:
java.lang.Throwable
-
do4Delete
private java.lang.Object do4Delete(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletResponse response, java.lang.String group, java.lang.String tenant, ConfigInfo configInfo) throws java.lang.ThrowableDelete Operation.- 抛出:
java.lang.Throwable- Exception.
-
correctUsage
private void correctUsage(java.lang.String group, java.lang.String tenant, boolean hasTenant)
-
getResult
private java.lang.Object getResult(org.aspectj.lang.ProceedingJoinPoint pjp, javax.servlet.http.HttpServletResponse response, java.lang.String group, java.lang.String tenant, CounterMode counterMode, boolean hasTenant) throws java.lang.Throwable- 抛出:
java.lang.Throwable
-
insertOrUpdateUsage
private void insertOrUpdateUsage(java.lang.String group, java.lang.String tenant, CounterMode counterMode, boolean hasTenant)Usage counting service: it will count whether the limitation check function will be open.
-
getLimitType
private CapacityManagementAspect.LimitType getLimitType(CounterMode counterMode, java.lang.String group, java.lang.String tenant, java.lang.String content, boolean hasTenant)
-
getCurrentSize
private int getCurrentSize(java.lang.String content)
Get and return the byte size of encoding.
-
getGroupOrTenantLimitType
private CapacityManagementAspect.LimitType getGroupOrTenantLimitType(CounterMode counterMode, java.lang.String group, java.lang.String tenant, int currentSize, boolean hasTenant)
-
isUpdateSuccess
private boolean isUpdateSuccess(CounterMode counterMode, java.lang.String group, java.lang.String tenant, boolean hasTenant)
-
insertCapacity
private void insertCapacity(java.lang.String group, java.lang.String tenant, boolean hasTenant)
-
getCapacity
private Capacity getCapacity(java.lang.String group, java.lang.String tenant, boolean hasTenant)
-
isSizeLimited
private boolean isSizeLimited(java.lang.String group, java.lang.String tenant, int currentSize, boolean hasTenant, boolean isAggr, Capacity capacity)
-
getMaxSize
private java.lang.Integer getMaxSize(boolean isAggr, Capacity capacity)
-
getDefaultMaxSize
private int getDefaultMaxSize(boolean isAggr)
-
isOverSize
private boolean isOverSize(java.lang.String group, java.lang.String tenant, int currentSize, int maxSize, boolean hasTenant)
-
doResult
private void doResult(CounterMode counterMode, javax.servlet.http.HttpServletResponse response, java.lang.String group, java.lang.String tenant, java.lang.Object result, boolean hasTenant)
-
isSuccess
private boolean isSuccess(javax.servlet.http.HttpServletResponse response, java.lang.Object result)
-
rollback
private void rollback(CounterMode counterMode, java.lang.String group, java.lang.String tenant, boolean hasTenant)
-
rollbackClusterUsage
private void rollbackClusterUsage(CounterMode counterMode)
-
-