File tree Expand file tree Collapse file tree 3 files changed +11
-9
lines changed
operator-framework-core/src
main/java/io/javaoperatorsdk/operator
test/java/io/javaoperatorsdk/operator/processing/event/source Expand file tree Collapse file tree 3 files changed +11
-9
lines changed Original file line number Diff line number Diff line change 6
6
import java .lang .annotation .Target ;
7
7
import java .util .concurrent .TimeUnit ;
8
8
9
+ import io .javaoperatorsdk .operator .processing .event .rate .PeriodRateLimiter ;
10
+
9
11
@ Retention (RetentionPolicy .RUNTIME )
10
12
@ Target ({ElementType .TYPE })
11
13
public @interface RateLimiter {
12
14
13
- int limitForPeriod ();
15
+ int limitForPeriod () default PeriodRateLimiter . NO_LIMIT_PERIOD ;
14
16
15
- int refreshPeriod ();
17
+ int refreshPeriod () default PeriodRateLimiter . DEFAULT_REFRESH_PERIOD_SECONDS ;
16
18
17
19
/**
18
20
* @return time unit for max delay between reconciliations
Original file line number Diff line number Diff line change 13
13
*/
14
14
public class PeriodRateLimiter implements RateLimiter {
15
15
16
- public static final Duration DEFAULT_REFRESH_PERIOD = Duration .ofSeconds (2 );
16
+ public static final int DEFAULT_REFRESH_PERIOD_SECONDS = 2 ;
17
+ public static final Duration DEFAULT_REFRESH_PERIOD =
18
+ Duration .ofSeconds (DEFAULT_REFRESH_PERIOD_SECONDS );
19
+
17
20
public static final int DEFAULT_LIMIT_FOR_PERIOD = 3 ;
18
21
/** To turn off rate limiting set limit fod period to a non-positive number */
19
22
public static final int NO_LIMIT_PERIOD = -1 ;
Original file line number Diff line number Diff line change 20
20
import io .javaoperatorsdk .operator .api .config .ConfigurationServiceProvider ;
21
21
import io .javaoperatorsdk .operator .api .config .DefaultControllerConfiguration ;
22
22
import io .javaoperatorsdk .operator .api .config .Version ;
23
- import io .javaoperatorsdk .operator .api .reconciler .Constants ;
24
- import io .javaoperatorsdk .operator .api .reconciler .Context ;
25
- import io .javaoperatorsdk .operator .api .reconciler .ControllerConfiguration ;
26
- import io .javaoperatorsdk .operator .api .reconciler .Reconciler ;
27
- import io .javaoperatorsdk .operator .api .reconciler .UpdateControl ;
23
+ import io .javaoperatorsdk .operator .api .reconciler .*;
28
24
import io .javaoperatorsdk .operator .processing .event .rate .PeriodRateLimiter ;
29
25
import io .javaoperatorsdk .operator .sample .simple .TestCustomResource ;
30
26
@@ -142,7 +138,8 @@ public MyConfiguration() {
142
138
}
143
139
}
144
140
145
- @ ControllerConfiguration (namespaces = NAMESPACE )
141
+ @ ControllerConfiguration (namespaces = NAMESPACE ,
142
+ rateLimiter = @ RateLimiter (limitForPeriod = PeriodRateLimiter .DEFAULT_LIMIT_FOR_PERIOD ))
146
143
public static class MyController implements Reconciler <TestCustomResource > {
147
144
148
145
private final Consumer <TestCustomResource > consumer ;
You can’t perform that action at this time.
0 commit comments