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

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

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

revision 467 by torben, Thu Oct 22 06:01:35 2009 UTC revision 2363 by torben, Tue Feb 24 11:46:30 2015 UTC
# Line 1  Line 1 
1  package dk.thoerup.circuitbreaker;  package dk.thoerup.circuitbreaker;
2    
3    import java.util.Iterator;
4  import java.util.Map;  import java.util.Map;
5  import java.util.Set;  import java.util.Set;
6  import java.util.concurrent.ConcurrentHashMap;  import java.util.concurrent.ConcurrentHashMap;
# Line 15  public class CircuitBreakerManager { Line 16  public class CircuitBreakerManager {
16                    
17                    
18          public static CircuitBreakerManager getManager() { //singleton interface          public static CircuitBreakerManager getManager() { //singleton interface
19                  if (manager == null) {                  synchronized(CircuitBreakerManager.class) {
20                          manager = new CircuitBreakerManager();                          if (manager == null) {
21                                    manager = new CircuitBreakerManager();
22                            }
23                  }                  }
24                  return manager;                  return manager;
25          }          }
# Line 28  public class CircuitBreakerManager { Line 31  public class CircuitBreakerManager {
31          public CircuitBreaker getCircuitBreaker(String name) {          public CircuitBreaker getCircuitBreaker(String name) {
32                  return breakers.get(name);                  return breakers.get(name);
33          }          }
34    
35            public void removeCircuitBreaker(String name) {
36                    breakers.remove(name);
37            }
38                    
39          public void addCircuitBreaker(CircuitBreaker cb) {          public void addCircuitBreaker(CircuitBreaker cb) {
40                  breakers.put(cb.getName(), cb);                  breakers.put(cb.getName(), cb);
41          }          }
42                    
43            public void shutdown() {
44                    for (Iterator<String> it = breakers.keySet().iterator(); it.hasNext(); )  {
45                            String key = it.next();
46                            breakers.get(key).shutdown();
47                            it.remove();
48                    }              
49            }
50                    
51  }  }

Legend:
Removed from v.467  
changed lines
  Added in v.2363

  ViewVC Help
Powered by ViewVC 1.1.20