/[projects]/miscJava/CircuitBreaker/src/main/java/dk/thoerup/circuitbreaker/LoggingCircuitBreaker.java
ViewVC logotype

Diff of /miscJava/CircuitBreaker/src/main/java/dk/thoerup/circuitbreaker/LoggingCircuitBreaker.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2568 by torben, Fri Mar 20 08:58:46 2015 UTC revision 2569 by torben, Tue Jun 9 08:55:10 2015 UTC
# Line 4  import java.util.Date; Line 4  import java.util.Date;
4  import java.util.LinkedList;  import java.util.LinkedList;
5    
6  import dk.thoerup.circuitbreaker.config.BreakerConfig;  import dk.thoerup.circuitbreaker.config.BreakerConfig;
 import dk.thoerup.circuitbreaker.notification.Notifier;  
7    
8    @Deprecated
9  public class LoggingCircuitBreaker extends AccountingCircuitBreaker {  public class LoggingCircuitBreaker extends AccountingCircuitBreaker {
10    
11          private LinkedList<LogEntry> log = new LinkedList<LogEntry>();          private LinkedList<LogEntry> log = new LinkedList<LogEntry>();
# Line 14  public class LoggingCircuitBreaker exten Line 14  public class LoggingCircuitBreaker exten
14    
15          public class LogEntry {          public class LogEntry {
16                  public long time;                  public long time;
17                  public Notifier.Event event;                  public Event event;
18                  public int count = 1;                  public int count = 1;
19                    
20                  public LogEntry(Notifier.Event evnt) {                  public LogEntry(Event evnt) {
21                          this.event = evnt;                          this.event = evnt;
22                          this.time = System.currentTimeMillis();                          this.time = System.currentTimeMillis();
23                  }                  }
# Line 32  public class LoggingCircuitBreaker exten Line 32  public class LoggingCircuitBreaker exten
32                                                    
33                          String str = new Date(time).toString() + (" : ") + event;                          String str = new Date(time).toString() + (" : ") + event;
34                                                    
35                          if (event == Notifier.Event.BreakerRetripped) {                          if (event == Event.BreakerRetripped) {
36                                  str += ( ", " + count + " re-trips" );                                  str += ( ", " + count + " re-trips" );
37                          }                          }
38                                                    
# Line 50  public class LoggingCircuitBreaker exten Line 50  public class LoggingCircuitBreaker exten
50          @Override          @Override
51          public void tripBreaker() {          public void tripBreaker() {
52                  super.tripBreaker();                  super.tripBreaker();
53                  addEntry(Notifier.Event.BreakerTripped);                  addEntry(Event.BreakerTripped);
54          }          }
55    
56            
57          @Override          @Override
58          public void retripBreaker() {          public void retripBreaker() {
59                  super.retripBreaker();                  super.retripBreaker();
60                  addEntry(Notifier.Event.BreakerRetripped);                  addEntry(Event.BreakerRetripped);
61          }          }
62    
63    
64          @Override          @Override
65          public void reset() {          public void reset() {
66                  super.reset();                  super.reset();
67                  addEntry(Notifier.Event.BreakerReset);                  addEntry(Event.BreakerReset);
68          }          }
69    
70          private void addEntry(Notifier.Event event) {          private void addEntry(Event event) {
71                  synchronized(this) {                  synchronized(this) {
72    
73                          if (event != Notifier.Event.BreakerRetripped ) {                          if (event != Event.BreakerRetripped ) {
74                                  log.addFirst( new LogEntry(event) ); //trip and reset are added unconditionally                                  log.addFirst( new LogEntry(event) ); //trip and reset are added unconditionally
75                          } else {                          } else {
76                                                                    
77                                  if (log.size() == 0 || log.getFirst().event != Notifier.Event.BreakerRetripped) {                                  if (log.size() == 0 || log.getFirst().event != Event.BreakerRetripped) {
78                                          log.addFirst( new LogEntry(event) );                                          log.addFirst( new LogEntry(event) );
79                                  } else {                                  } else {
80                                          log.getFirst().newRetrip();                                          log.getFirst().newRetrip();

Legend:
Removed from v.2568  
changed lines
  Added in v.2569

  ViewVC Help
Powered by ViewVC 1.1.20