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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2448 - (show annotations) (download)
Fri Mar 20 08:52:49 2015 UTC (9 years, 2 months ago) by torben
Original Path: miscJava/CircuitBreaker/src/dk/thoerup/circuitbreaker/CircuitBreakerManager.java
File size: 1193 byte(s)
move java components to java folder
1 package dk.thoerup.circuitbreaker;
2
3 import java.util.Iterator;
4 import java.util.Map;
5 import java.util.Set;
6 import java.util.concurrent.ConcurrentHashMap;
7
8 public class CircuitBreakerManager {
9
10 private static CircuitBreakerManager manager = null;
11
12 private Map<String,CircuitBreaker> breakers = new ConcurrentHashMap<String,CircuitBreaker>();
13
14 private CircuitBreakerManager() {
15 }
16
17
18 public static CircuitBreakerManager getManager() { //singleton interface
19 synchronized(CircuitBreakerManager.class) {
20 if (manager == null) {
21 manager = new CircuitBreakerManager();
22 }
23 }
24 return manager;
25 }
26
27 public Set<String> getCircuitBreakerNames() {
28 return breakers.keySet();
29 }
30
31 public CircuitBreaker getCircuitBreaker(String name) {
32 return breakers.get(name);
33 }
34
35 public void removeCircuitBreaker(String name) {
36 breakers.remove(name);
37 }
38
39 public void addCircuitBreaker(CircuitBreaker cb) {
40 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 }

Properties

Name Value
svn:mergeinfo

  ViewVC Help
Powered by ViewVC 1.1.20