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

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

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

CircuitBreaker/src/dk/thoerup/curcuitbreaker/CircuitBreakerManager.java revision 407 by torben, Wed Oct 7 04:29:07 2009 UTC CircuitBreaker/src/dk/thoerup/circuitbreaker/CircuitBreakerManager.java revision 1153 by torben, Sun Oct 3 17:03:08 2010 UTC
# Line 1  Line 1 
1  package dk.thoerup.curcuitbreaker;  package dk.thoerup.circuitbreaker;
2    
3  import java.util.HashMap;  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;
7    
8  public class CircuitBreakerManager {  public class CircuitBreakerManager {
9                    
10          private static CircuitBreakerManager manager = null;          private static CircuitBreakerManager manager = null;
11                    
12          private Map<String,CircuitBreaker> breakers = new HashMap<String,CircuitBreaker>();          private Map<String,CircuitBreaker> breakers = new ConcurrentHashMap<String,CircuitBreaker>();
13                    
14          private CircuitBreakerManager() {          private CircuitBreakerManager() {
15          }          }
# Line 28  public class CircuitBreakerManager { Line 29  public class CircuitBreakerManager {
29          public CircuitBreaker getCircuitBreaker(String name) {          public CircuitBreaker getCircuitBreaker(String name) {
30                  return breakers.get(name);                  return breakers.get(name);
31          }          }
32    
33            public void removeCircuitBreaker(String name) {
34                    breakers.remove(name);
35            }
36                    
37          public void addCircuitBreaker(CircuitBreaker cb) {          public void addCircuitBreaker(CircuitBreaker cb) {
38                  breakers.put(cb.getName(), cb);                  breakers.put(cb.getName(), cb);
39          }          }
40                    
41            public void shutdown() {
42                    for (Iterator<String> it = breakers.keySet().iterator(); it.hasNext(); )  {
43                            String key = it.next();
44                            breakers.get(key).shutdown();
45                            it.remove();
46                    }              
47            }
48                    
49  }  }

Legend:
Removed from v.407  
changed lines
  Added in v.1153

  ViewVC Help
Powered by ViewVC 1.1.20