Skip to content

Commit 512a73c

Browse files
committed
clean up
1 parent 1cda1ee commit 512a73c

File tree

2 files changed

+37
-35
lines changed

2 files changed

+37
-35
lines changed

micro-events/src/main/java/com/aol/micro/server/events/JobsBeingExecuted.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ public class JobsBeingExecuted {
3030

3131
private final LoggingRateLimiter<Class> loggingRateLimiter;
3232

33-
private final int maxLoggingCapacity;
33+
private final long maxLoggingCapacity;
3434

3535
public JobsBeingExecuted(@Qualifier("microserverEventBus") EventBus bus,
36-
@Value("${system.logging.max.per.hour:10}") int maxLoggingCapacity) {
36+
@Value("${system.logging.max.per.hour:10}") long maxLoggingCapacity) {
3737
this.eventBus = bus;
3838
this.loggingRateLimiter = new LoggingRateLimiter<>();
3939
this.maxLoggingCapacity = maxLoggingCapacity;
@@ -104,7 +104,7 @@ private void logSystemEvent(final ProceedingJoinPoint pjp, final String type, Jo
104104
.getClass());
105105
loggingRateLimiter.capacityAvailable(pjp.getTarget()
106106
.getClass(),
107-
10, new Runnable() {
107+
this.maxLoggingCapacity, new Runnable() {
108108
@Override
109109
public void run() {
110110
postEvent(pjp, type, data, active);

micro-events/src/main/java/com/aol/micro/server/events/LoggingRateLimiter.java

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,43 +2,45 @@
22

33
import java.util.Date;
44

5+
import com.google.common.collect.ConcurrentHashMultiset;
6+
57
import lombok.AccessLevel;
68
import lombok.Getter;
79

8-
import com.google.common.collect.ConcurrentHashMultiset;
10+
public class LoggingRateLimiter<T> {
911

12+
@Getter(AccessLevel.PACKAGE)
13+
private volatile ConcurrentHashMultiset<T> frequency = ConcurrentHashMultiset.create();
14+
private volatile Date lastCleared = new Date(
15+
0);
16+
private final int limit;
1017

11-
public class LoggingRateLimiter<T> {
18+
public LoggingRateLimiter(int limit) {
19+
this.limit = limit;
20+
}
21+
22+
public LoggingRateLimiter() {
23+
this.limit = (60 * 1000 * 60);
24+
}
25+
26+
public void addAndEnsureFrequency(T clazz) {
27+
resetAfterLimit();
28+
frequency.add(clazz);
29+
}
30+
31+
public void resetAfterLimit() {
32+
if (System.currentTimeMillis() - limit > lastCleared.getTime()) {
33+
frequency = ConcurrentHashMultiset.create();
34+
lastCleared = new Date(
35+
System.currentTimeMillis());
36+
}
37+
38+
}
39+
40+
public void capacityAvailable(T t, long max, Runnable run) {
41+
if (frequency.count(t) < max)
42+
run.run();
1243

13-
@Getter(AccessLevel.PACKAGE)
14-
private volatile ConcurrentHashMultiset<T> frequency = ConcurrentHashMultiset.create();
15-
private volatile Date lastCleared = new Date(0);
16-
private final int limit;
17-
18-
public LoggingRateLimiter(int limit){
19-
this.limit = limit;
20-
}
21-
22-
public LoggingRateLimiter(){
23-
this.limit=(60 *1000*60);
24-
}
25-
26-
public void addAndEnsureFrequency(T clazz){
27-
resetAfterLimit();
28-
frequency.add(clazz);
29-
}
30-
public void resetAfterLimit(){
31-
if (System.currentTimeMillis() - limit > lastCleared.getTime()){
32-
frequency = ConcurrentHashMultiset.create();
33-
lastCleared = new Date(System.currentTimeMillis());
34-
}
35-
36-
}
37-
38-
public void capacityAvailable(T t, int max, Runnable run){
39-
if(frequency.count(t) < max)
40-
run.run();
41-
42-
}
44+
}
4345

4446
}

0 commit comments

Comments
 (0)