/[projects]/CircuitBreaker/src/dk/thoerup/circuitbreaker/OpenState.java
ViewVC logotype

Diff of /CircuitBreaker/src/dk/thoerup/circuitbreaker/OpenState.java

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

revision 1305 by torben, Thu Oct 22 06:01:35 2009 UTC revision 1306 by torben, Tue Apr 19 15:22:09 2011 UTC
# Line 2  package dk.thoerup.circuitbreaker; Line 2  package dk.thoerup.circuitbreaker;
2    
3  import java.util.concurrent.atomic.AtomicLong;  import java.util.concurrent.atomic.AtomicLong;
4    
5    import dk.thoerup.circuitbreaker.config.BreakerConfig;
6    
7    
8  public final class OpenState implements CircuitBreakerState {  public final class OpenState implements CircuitBreakerState {
9    
10          final private AtomicLong tripTime = new AtomicLong(0);          final private AtomicLong tripTime = new AtomicLong(0);
         final private AtomicLong timeout = new AtomicLong(0);  
11                    
12          public void setTimeout(long timeout) {          BreakerConfig config;
13                  this.timeout.set( timeout );          
14            public void setTimeout(BreakerConfig config) {
15                    this.config = config;
16          }          }
17                    
18      public void preInvoke(CircuitBreaker circuitBreaker) throws Exception      public void preInvoke(CircuitBreaker circuitBreaker) throws Exception
# Line 17  public final class OpenState implements Line 20  public final class OpenState implements
20          long now = System.currentTimeMillis();          long now = System.currentTimeMillis();
21          long elapsed = now - tripTime.get();          long elapsed = now - tripTime.get();
22                    
23          if(elapsed > timeout.get())          if(elapsed > config.getTimeout())
24          {          {
25              circuitBreaker.attemptReset();              circuitBreaker.attemptReset();
26          }          }
# Line 48  public final class OpenState implements Line 51  public final class OpenState implements
51          }          }
52                    
53          public long getTimeout() {          public long getTimeout() {
54                  return timeout.get();                  return config.getTimeout();
55          }          }
56                    
57          public long getElapsed() {          public long getElapsed() {

Legend:
Removed from v.1305  
changed lines
  Added in v.1306

  ViewVC Help
Powered by ViewVC 1.1.20