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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1153 - (hide annotations) (download)
Sun Oct 3 17:03:08 2010 UTC (13 years, 8 months ago) by torben
Original Path: CircuitBreaker/src/dk/thoerup/circuitbreaker/CircuitBreakerManager.java
File size: 1138 byte(s)
add a shutdown routine to circuitbreaker manager
1 torben 467 package dk.thoerup.circuitbreaker;
2 torben 399
3 torben 1153 import java.util.Iterator;
4 torben 399 import java.util.Map;
5     import java.util.Set;
6 torben 426 import java.util.concurrent.ConcurrentHashMap;
7 torben 399
8     public class CircuitBreakerManager {
9    
10     private static CircuitBreakerManager manager = null;
11    
12 torben 426 private Map<String,CircuitBreaker> breakers = new ConcurrentHashMap<String,CircuitBreaker>();
13 torben 399
14     private CircuitBreakerManager() {
15     }
16    
17    
18 torben 407 public static CircuitBreakerManager getManager() { //singleton interface
19 torben 399 if (manager == null) {
20     manager = new CircuitBreakerManager();
21     }
22     return manager;
23     }
24    
25     public Set<String> getCircuitBreakerNames() {
26     return breakers.keySet();
27     }
28    
29     public CircuitBreaker getCircuitBreaker(String name) {
30     return breakers.get(name);
31     }
32 torben 865
33     public void removeCircuitBreaker(String name) {
34     breakers.remove(name);
35     }
36 torben 399
37     public void addCircuitBreaker(CircuitBreaker cb) {
38     breakers.put(cb.getName(), cb);
39     }
40    
41 torben 1153 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 torben 399
49     }

Properties

Name Value
svn:mergeinfo

  ViewVC Help
Powered by ViewVC 1.1.20