@@ -53,6 +53,7 @@ public class AuditRouteCache {
5353 private static final String AUDIT_ID_INCLUDE = "audit_id_include" ;
5454 private static final String GROUP_ID_INCLUDE = "inlong_group_id_include" ;
5555 private static final String GROUP_ID_EXCLUDE = "inlong_group_id_exclude" ;
56+ private static final String PRIORITY = "priority" ;
5657
5758 @ Getter
5859 private static final AuditRouteCache instance = new AuditRouteCache ();
@@ -115,6 +116,7 @@ private void updateAuditRouteCache(String querySQL) {
115116 String auditId = StringUtils .trimToNull (resultSet .getString (AUDIT_ID_INCLUDE ));
116117 String includeGroupId = StringUtils .trimToNull (resultSet .getString (GROUP_ID_INCLUDE ));
117118 String excludeGroupId = StringUtils .trimToNull (resultSet .getString (GROUP_ID_EXCLUDE ));
119+ int priority = resultSet .getInt (PRIORITY );
118120
119121 if (!isValidRegexOrLog (auditId )
120122 || !isValidRegexOrLog (includeGroupId )
@@ -130,6 +132,7 @@ private void updateAuditRouteCache(String querySQL) {
130132 data .setAuditId (auditId );
131133 data .setInlongGroupIdsInclude (includeGroupId );
132134 data .setInlongGroupIdsExclude (excludeGroupId );
135+ data .setPriority (priority );
133136
134137 auditRoutes .computeIfAbsent (address , key -> new ArrayList <>()).add (data );
135138 }
@@ -139,6 +142,9 @@ private void updateAuditRouteCache(String querySQL) {
139142 }
140143
141144 if (!auditRoutes .isEmpty ()) {
145+ auditRoutes .values ()
146+ .forEach (routes -> routes .sort ((r1 , r2 ) -> Integer .compare (r2 .getPriority (), r1 .getPriority ())));
147+
142148 auditRouteCache = auditRoutes ;
143149 LOGGER .info ("AuditRouteCache update success. Cache size={}, Query size={}" , auditRouteCache .size (),
144150 auditRoutes .size ());
0 commit comments