Skip to content

Commit bac20c5

Browse files
committedDec 24, 2024
Update condition
1 parent 193ce7d commit bac20c5

24 files changed

+118
-64
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
* Copyright © ${year} ${owner} (${email})
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package com.jd.live.agent.governance.annotation;
17+
18+
import com.jd.live.agent.core.extension.annotation.ConditionalComposite;
19+
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
20+
import com.jd.live.agent.governance.config.GovernanceConfig;
21+
22+
import java.lang.annotation.*;
23+
24+
/**
25+
* An annotation used to mark a type as requiring the lane feature to be enabled.
26+
* <p>
27+
* This annotation is used to indicate that a type requires the lane feature to be enabled. The presence of this
28+
* annotation on a type will trigger specific behavior in the governance processing logic.
29+
*/
30+
@Target({ElementType.TYPE})
31+
@Retention(RetentionPolicy.RUNTIME)
32+
@Documented
33+
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_LANE_ENABLED, matchIfMissing = true)
34+
@ConditionalComposite
35+
public @interface ConditionalOnLaneEnabled {
36+
37+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
* Copyright © ${year} ${owner} (${email})
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package com.jd.live.agent.governance.annotation;
17+
18+
import com.jd.live.agent.core.extension.annotation.ConditionalComposite;
19+
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
20+
import com.jd.live.agent.governance.config.GovernanceConfig;
21+
22+
import java.lang.annotation.*;
23+
24+
/**
25+
* An annotation used to mark a type as requiring the live feature to be enabled.
26+
* <p>
27+
* This annotation is used to indicate that a type requires the live feature to be enabled. The presence of this
28+
* annotation on a type will trigger specific behavior in the governance processing logic.
29+
*/
30+
@Target({ElementType.TYPE})
31+
@Retention(RetentionPolicy.RUNTIME)
32+
@Documented
33+
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_LIVE_ENABLED, matchIfMissing = true)
34+
@ConditionalComposite
35+
public @interface ConditionalOnLiveEnabled {
36+
37+
}

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/inbound/AuthFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.inbound;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
2019
import com.jd.live.agent.core.inject.annotation.Inject;
2120
import com.jd.live.agent.core.inject.annotation.Injectable;
22-
import com.jd.live.agent.governance.config.GovernanceConfig;
21+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2322
import com.jd.live.agent.governance.invoke.InboundInvocation;
2423
import com.jd.live.agent.governance.invoke.auth.AuthResult;
2524
import com.jd.live.agent.governance.invoke.auth.Authenticate;
@@ -40,7 +39,7 @@
4039
*/
4140
@Injectable
4241
@Extension(value = "AuthFilter", order = InboundFilter.ORDER_AUTH)
43-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED, matchIfMissing = true)
42+
@ConditionalOnFlowControlEnabled
4443
public class AuthFilter implements InboundFilter {
4544

4645
@Inject

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/inbound/CellFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.inbound;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
20-
import com.jd.live.agent.governance.config.GovernanceConfig;
19+
import com.jd.live.agent.governance.annotation.ConditionalOnLiveEnabled;
2120
import com.jd.live.agent.governance.context.RequestContext;
2221
import com.jd.live.agent.governance.context.bag.Carrier;
2322
import com.jd.live.agent.governance.invoke.CellAction;
@@ -43,7 +42,7 @@
4342
* @since 1.0.0
4443
*/
4544
@Extension(value = "CellFilter", order = InboundFilter.ORDER_LIVE_CELL)
46-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_LIVE_ENABLED, matchIfMissing = true)
45+
@ConditionalOnLiveEnabled
4746
public class CellFilter implements InboundFilter {
4847

4948
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/inbound/ConcurrencyLimitFilter.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
package com.jd.live.agent.governance.invoke.filter.inbound;
1717

1818
import com.jd.live.agent.core.extension.ExtensionInitializer;
19-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
2019
import com.jd.live.agent.core.extension.annotation.Extension;
2120
import com.jd.live.agent.core.inject.annotation.Inject;
2221
import com.jd.live.agent.core.inject.annotation.Injectable;
22+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2323
import com.jd.live.agent.governance.config.GovernanceConfig;
2424
import com.jd.live.agent.governance.invoke.InboundInvocation;
2525
import com.jd.live.agent.governance.invoke.concurrencylimit.ConcurrencyLimiter;
@@ -42,7 +42,7 @@
4242
*/
4343
@Injectable
4444
@Extension(value = "ConcurrencyLimitFilter", order = InboundFilter.ORDER_CONCURRENCY_LIMITER)
45-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED, matchIfMissing = true)
45+
@ConditionalOnFlowControlEnabled
4646
public class ConcurrencyLimitFilter implements InboundFilter, ExtensionInitializer {
4747

4848
@Inject

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/inbound/FailoverFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.inbound;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
20-
import com.jd.live.agent.governance.config.GovernanceConfig;
19+
import com.jd.live.agent.governance.annotation.ConditionalOnLiveEnabled;
2120
import com.jd.live.agent.governance.invoke.CellAction;
2221
import com.jd.live.agent.governance.invoke.CellAction.CellActionType;
2322
import com.jd.live.agent.governance.invoke.InboundInvocation;
@@ -37,7 +36,7 @@
3736
* @since 1.0.0
3837
*/
3938
@Extension(value = "FailoverFilter", order = InboundFilter.ORDER_LIVE_FAILOVER)
40-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_LIVE_ENABLED, matchIfMissing = true)
39+
@ConditionalOnLiveEnabled
4140
public class FailoverFilter implements InboundFilter {
4241

4342
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/inbound/LoadLimitFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,11 @@
1717

1818
import com.jd.live.agent.bootstrap.logger.Logger;
1919
import com.jd.live.agent.bootstrap.logger.LoggerFactory;
20-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
2120
import com.jd.live.agent.core.extension.annotation.Extension;
2221
import com.jd.live.agent.core.inject.annotation.Inject;
2322
import com.jd.live.agent.core.inject.annotation.Injectable;
2423
import com.jd.live.agent.core.util.time.Timer;
25-
import com.jd.live.agent.governance.config.GovernanceConfig;
24+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2625
import com.jd.live.agent.governance.config.LoadLimiterConfig;
2726
import com.jd.live.agent.governance.config.ServiceConfig;
2827
import com.jd.live.agent.governance.invoke.InboundInvocation;
@@ -52,7 +51,7 @@
5251
*/
5352
@Injectable
5453
@Extension(value = "LoadLimitFilter", order = InboundFilter.ORDER_LOAD_LIMITER)
55-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED, matchIfMissing = true)
54+
@ConditionalOnFlowControlEnabled
5655
public class LoadLimitFilter implements InboundFilter {
5756
private static final Logger logger = LoggerFactory.getLogger(LoadLimitFilter.class);
5857
public static final String LOAD_LIMITER_TIMER = "load-limiter";

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/inbound/PermissionFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.inbound;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
2019
import com.jd.live.agent.core.inject.annotation.Injectable;
21-
import com.jd.live.agent.governance.config.GovernanceConfig;
20+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2221
import com.jd.live.agent.governance.invoke.InboundInvocation;
2322
import com.jd.live.agent.governance.invoke.filter.InboundFilter;
2423
import com.jd.live.agent.governance.invoke.filter.InboundFilterChain;
@@ -38,7 +37,7 @@
3837
*/
3938
@Injectable
4039
@Extension(value = "PermissionFilter", order = InboundFilter.ORDER_PERMISSION)
41-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED, matchIfMissing = true)
40+
@ConditionalOnFlowControlEnabled
4241
public class PermissionFilter implements InboundFilter {
4342

4443
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/inbound/RateLimitFilter.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
package com.jd.live.agent.governance.invoke.filter.inbound;
1717

1818
import com.jd.live.agent.core.extension.ExtensionInitializer;
19-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
2019
import com.jd.live.agent.core.extension.annotation.Extension;
2120
import com.jd.live.agent.core.inject.annotation.Inject;
2221
import com.jd.live.agent.core.inject.annotation.Injectable;
22+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2323
import com.jd.live.agent.governance.config.GovernanceConfig;
2424
import com.jd.live.agent.governance.invoke.InboundInvocation;
2525
import com.jd.live.agent.governance.invoke.filter.InboundFilter;
@@ -40,7 +40,7 @@
4040
*/
4141
@Injectable
4242
@Extension(value = "RateLimitFilter", order = InboundFilter.ORDER_RATE_LIMITER)
43-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED, matchIfMissing = true)
43+
@ConditionalOnFlowControlEnabled
4444
public class RateLimitFilter implements InboundFilter, ExtensionInitializer {
4545

4646
@Inject

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/inbound/ReadyFilter.java

+2-8
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,12 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.inbound;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
19-
import com.jd.live.agent.core.extension.annotation.ConditionalRelation;
2018
import com.jd.live.agent.core.extension.annotation.Extension;
2119
import com.jd.live.agent.core.inject.annotation.Inject;
2220
import com.jd.live.agent.core.inject.annotation.Injectable;
2321
import com.jd.live.agent.core.instance.Application;
2422
import com.jd.live.agent.core.util.network.Ipv4;
25-
import com.jd.live.agent.governance.config.GovernanceConfig;
23+
import com.jd.live.agent.governance.annotation.ConditionalOnGovernanceEnabled;
2624
import com.jd.live.agent.governance.invoke.InboundInvocation;
2725
import com.jd.live.agent.governance.invoke.filter.InboundFilter;
2826
import com.jd.live.agent.governance.invoke.filter.InboundFilterChain;
@@ -36,11 +34,7 @@
3634
*/
3735
@Injectable
3836
@Extension(value = "ReadyFilter", order = InboundFilter.ORDER_LIVE_UNIT)
39-
@ConditionalOnProperty(name = {
40-
GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED,
41-
GovernanceConfig.CONFIG_LIVE_ENABLED,
42-
GovernanceConfig.CONFIG_LANE_ENABLED
43-
}, matchIfMissing = true, relation = ConditionalRelation.OR)
37+
@ConditionalOnGovernanceEnabled
4438
public class ReadyFilter implements InboundFilter {
4539

4640
@Inject(Application.COMPONENT_APPLICATION)

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/inbound/UnitFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.inbound;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
2019
import com.jd.live.agent.core.instance.GatewayRole;
21-
import com.jd.live.agent.governance.config.GovernanceConfig;
20+
import com.jd.live.agent.governance.annotation.ConditionalOnLiveEnabled;
2221
import com.jd.live.agent.governance.context.RequestContext;
2322
import com.jd.live.agent.governance.context.bag.Carrier;
2423
import com.jd.live.agent.governance.invoke.InboundInvocation;
@@ -43,7 +42,7 @@
4342
* @since 1.0.0
4443
*/
4544
@Extension(value = "UnitFilter", order = InboundFilter.ORDER_LIVE_UNIT)
46-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_LIVE_ENABLED, matchIfMissing = true)
45+
@ConditionalOnLiveEnabled
4746
public class UnitFilter implements InboundFilter {
4847

4948
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/outbound/AuthFilter.java

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.jd.live.agent.core.extension.annotation.Extension;
1919
import com.jd.live.agent.core.inject.annotation.Inject;
2020
import com.jd.live.agent.core.inject.annotation.Injectable;
21+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2122
import com.jd.live.agent.governance.instance.Endpoint;
2223
import com.jd.live.agent.governance.invoke.OutboundInvocation;
2324
import com.jd.live.agent.governance.invoke.auth.Authenticate;
@@ -41,6 +42,7 @@
4142
*/
4243
@Injectable
4344
@Extension(value = "AuthFilter", order = OutboundFilter.ORDER_AUTH)
45+
@ConditionalOnFlowControlEnabled
4446
public class AuthFilter implements OutboundFilter {
4547

4648
@Inject

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/outbound/CounterFilter.java

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.jd.live.agent.core.extension.annotation.Extension;
1919
import com.jd.live.agent.core.util.Futures;
20+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2021
import com.jd.live.agent.governance.instance.Endpoint;
2122
import com.jd.live.agent.governance.invoke.OutboundInvocation;
2223
import com.jd.live.agent.governance.invoke.counter.Counter;
@@ -35,6 +36,7 @@
3536
* @see OutboundFilter
3637
*/
3738
@Extension(value = "CounterFilter", order = OutboundFilter.ORDER_COUNTER)
39+
@ConditionalOnFlowControlEnabled
3840
public class CounterFilter implements OutboundFilter {
3941

4042
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/outbound/FaultInjectionFilter.java

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.jd.live.agent.core.extension.annotation.Extension;
1919
import com.jd.live.agent.core.inject.annotation.Inject;
2020
import com.jd.live.agent.core.inject.annotation.Injectable;
21+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2122
import com.jd.live.agent.governance.instance.Endpoint;
2223
import com.jd.live.agent.governance.invoke.OutboundInvocation;
2324
import com.jd.live.agent.governance.invoke.fault.FaultInjection;
@@ -40,6 +41,7 @@
4041
*/
4142
@Injectable
4243
@Extension(value = "FaultInjectionFilter", order = OutboundFilter.ORDER_FAULT_INJECTION)
44+
@ConditionalOnFlowControlEnabled
4345
public class FaultInjectionFilter implements OutboundFilter {
4446

4547
@Inject

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/route/CircuitBreakerFilter.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,12 @@
1616
package com.jd.live.agent.governance.invoke.filter.route;
1717

1818
import com.jd.live.agent.bootstrap.exception.RejectException.RejectCircuitBreakException;
19-
import com.jd.live.agent.bootstrap.logger.Logger;
20-
import com.jd.live.agent.bootstrap.logger.LoggerFactory;
2119
import com.jd.live.agent.core.extension.ExtensionInitializer;
22-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
2320
import com.jd.live.agent.core.extension.annotation.Extension;
2421
import com.jd.live.agent.core.inject.annotation.Inject;
2522
import com.jd.live.agent.core.inject.annotation.Injectable;
2623
import com.jd.live.agent.core.util.URI;
24+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2725
import com.jd.live.agent.governance.config.GovernanceConfig;
2826
import com.jd.live.agent.governance.exception.CircuitBreakException;
2927
import com.jd.live.agent.governance.exception.ErrorCause;
@@ -63,11 +61,9 @@
6361
*/
6462
@Injectable
6563
@Extension(value = "CircuitBreakerFilter", order = RouteFilter.ORDER_CIRCUIT_BREAKER)
66-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED, matchIfMissing = true)
64+
@ConditionalOnFlowControlEnabled
6765
public class CircuitBreakerFilter implements RouteFilter, ExtensionInitializer {
6866

69-
private static final Logger logger = LoggerFactory.getLogger(CircuitBreakerFilter.class);
70-
7167
@Inject
7268
private Map<String, CircuitBreakerFactory> factories;
7369

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/route/GroupFilter.java

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.jd.live.agent.core.extension.annotation.Extension;
1919
import com.jd.live.agent.core.inject.annotation.Injectable;
20+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2021
import com.jd.live.agent.governance.config.ServiceConfig;
2122
import com.jd.live.agent.governance.invoke.OutboundInvocation;
2223
import com.jd.live.agent.governance.invoke.RouteTarget;
@@ -32,6 +33,7 @@
3233
*/
3334
@Injectable
3435
@Extension(value = "GroupFilter", order = RouteFilter.ORDER_GROUP)
36+
@ConditionalOnFlowControlEnabled
3537
public class GroupFilter implements RouteFilter {
3638

3739
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/route/HealthyFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.route;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
20-
import com.jd.live.agent.governance.config.GovernanceConfig;
19+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2120
import com.jd.live.agent.governance.instance.Endpoint;
2221
import com.jd.live.agent.governance.invoke.OutboundInvocation;
2322
import com.jd.live.agent.governance.invoke.RouteTarget;
@@ -33,7 +32,7 @@
3332
* @since 1.0.0
3433
*/
3534
@Extension(value = "HealthyFilter", order = RouteFilter.ORDER_HEALTH)
36-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED, matchIfMissing = true)
35+
@ConditionalOnFlowControlEnabled
3736
public class HealthyFilter implements RouteFilter {
3837

3938
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/route/LaneFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.route;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
2019
import com.jd.live.agent.core.inject.annotation.Injectable;
21-
import com.jd.live.agent.governance.config.GovernanceConfig;
20+
import com.jd.live.agent.governance.annotation.ConditionalOnLaneEnabled;
2221
import com.jd.live.agent.governance.invoke.OutboundInvocation;
2322
import com.jd.live.agent.governance.invoke.RouteTarget;
2423
import com.jd.live.agent.governance.invoke.filter.RouteFilter;
@@ -39,7 +38,7 @@
3938
*/
4039
@Injectable
4140
@Extension(value = "LaneFilter", order = RouteFilter.ORDER_LANE)
42-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_LANE_ENABLED, matchIfMissing = true)
41+
@ConditionalOnLaneEnabled
4342
public class LaneFilter implements RouteFilter {
4443

4544
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/route/LoadBalanceFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.route;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
20-
import com.jd.live.agent.governance.config.GovernanceConfig;
19+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2120
import com.jd.live.agent.governance.context.RequestContext;
2221
import com.jd.live.agent.governance.instance.Endpoint;
2322
import com.jd.live.agent.governance.invoke.OutboundInvocation;
@@ -44,7 +43,7 @@
4443
* @since 1.0.0
4544
*/
4645
@Extension(value = "LoadBalanceFilter", order = RouteFilter.ORDER_LOAD_BALANCE)
47-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED, matchIfMissing = true)
46+
@ConditionalOnFlowControlEnabled
4847
public class LoadBalanceFilter implements RouteFilter {
4948

5049
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/route/ReadyFilter.java

+2-7
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,12 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.route;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
19-
import com.jd.live.agent.core.extension.annotation.ConditionalRelation;
2018
import com.jd.live.agent.core.extension.annotation.Extension;
2119
import com.jd.live.agent.core.inject.annotation.Inject;
2220
import com.jd.live.agent.core.inject.annotation.Injectable;
2321
import com.jd.live.agent.core.instance.AppStatus;
2422
import com.jd.live.agent.core.instance.Application;
23+
import com.jd.live.agent.governance.annotation.ConditionalOnGovernanceEnabled;
2524
import com.jd.live.agent.governance.config.GovernanceConfig;
2625
import com.jd.live.agent.governance.invoke.OutboundInvocation;
2726
import com.jd.live.agent.governance.invoke.filter.RouteFilter;
@@ -35,13 +34,9 @@
3534
* @see GovernanceConfig
3635
* @see Application
3736
*/
38-
@ConditionalOnProperty(name = {
39-
GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED,
40-
GovernanceConfig.CONFIG_LIVE_ENABLED,
41-
GovernanceConfig.CONFIG_LANE_ENABLED
42-
}, matchIfMissing = true, relation = ConditionalRelation.OR)
4337
@Injectable
4438
@Extension(value = "ReadyFilter", order = RouteFilter.ORDER_READY)
39+
@ConditionalOnGovernanceEnabled
4540
public class ReadyFilter implements RouteFilter {
4641

4742
@Inject(Application.COMPONENT_APPLICATION)

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/route/RetryFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.route;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
20-
import com.jd.live.agent.governance.config.GovernanceConfig;
19+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2120
import com.jd.live.agent.governance.invoke.OutboundInvocation;
2221
import com.jd.live.agent.governance.invoke.RouteTarget;
2322
import com.jd.live.agent.governance.invoke.filter.RouteFilter;
@@ -35,7 +34,7 @@
3534
* @since 1.0.0
3635
*/
3736
@Extension(value = "RetryFilter", order = RouteFilter.ORDER_RETRY)
38-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED, matchIfMissing = true)
37+
@ConditionalOnFlowControlEnabled
3938
public class RetryFilter implements RouteFilter {
4039

4140
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/route/StickyFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.route;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
20-
import com.jd.live.agent.governance.config.GovernanceConfig;
19+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2120
import com.jd.live.agent.governance.context.RequestContext;
2221
import com.jd.live.agent.governance.instance.Endpoint;
2322
import com.jd.live.agent.governance.invoke.OutboundInvocation;
@@ -37,7 +36,7 @@
3736
* @since 1.0.0
3837
*/
3938
@Extension(value = "StickyFilter", order = RouteFilter.ORDER_STICKY)
40-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED, matchIfMissing = true)
39+
@ConditionalOnFlowControlEnabled
4140
public class StickyFilter implements RouteFilter {
4241

4342
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/route/TagRouteFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.route;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
2019
import com.jd.live.agent.core.inject.annotation.Injectable;
21-
import com.jd.live.agent.governance.config.GovernanceConfig;
20+
import com.jd.live.agent.governance.annotation.ConditionalOnFlowControlEnabled;
2221
import com.jd.live.agent.governance.invoke.OutboundInvocation;
2322
import com.jd.live.agent.governance.invoke.RouteTarget;
2423
import com.jd.live.agent.governance.invoke.filter.RouteFilter;
@@ -42,7 +41,7 @@
4241
*/
4342
@Injectable
4443
@Extension(value = "TagRouteFilter", order = RouteFilter.ORDER_TAG_ROUTE)
45-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_FLOW_CONTROL_ENABLED, matchIfMissing = true)
44+
@ConditionalOnFlowControlEnabled
4645
public class TagRouteFilter implements RouteFilter {
4746

4847
@Override

‎joylive-core/joylive-governance-api/src/main/java/com/jd/live/agent/governance/invoke/filter/route/UnitFilter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@
1515
*/
1616
package com.jd.live.agent.governance.invoke.filter.route;
1717

18-
import com.jd.live.agent.core.extension.annotation.ConditionalOnProperty;
1918
import com.jd.live.agent.core.extension.annotation.Extension;
2019
import com.jd.live.agent.core.inject.annotation.Injectable;
21-
import com.jd.live.agent.governance.config.GovernanceConfig;
20+
import com.jd.live.agent.governance.annotation.ConditionalOnLiveEnabled;
2221
import com.jd.live.agent.governance.config.ServiceConfig;
2322
import com.jd.live.agent.governance.instance.EndpointGroup;
2423
import com.jd.live.agent.governance.instance.UnitGroup;
@@ -54,7 +53,7 @@
5453
*/
5554
@Injectable
5655
@Extension(value = "UnitFilter", order = RouteFilter.ORDER_LIVE_UNIT)
57-
@ConditionalOnProperty(value = GovernanceConfig.CONFIG_LIVE_ENABLED, matchIfMissing = true)
56+
@ConditionalOnLiveEnabled
5857
public class UnitFilter implements RouteFilter {
5958

6059
@Override

0 commit comments

Comments
 (0)
Please sign in to comment.