public interface NodeManager { void addNode(Node node); void removeNode(Node node); List<Node> getNodes(); } @Component public class NodeManagerImpl implements NodeManager { private List<Node> nodes; @Activate public void activate() { nodes = new ArrayList<>(); } @Override public void addNode(Node node) { nodes.add(node); } @Override public void removeNode(Node node) { nodes.remove(node); } @Override public List<Node> getNodes() { return nodes; } } public interface StateProvider { Map<String, Object> getNodeState(Node node); } @Component public class StateProviderImpl implements StateProvider { @Reference private NodeManager nodeManager; @Override public Map<String, Object> getNodeState(Node node) { // ... return node.getState(); } } @Component public class ClusterMonitor { @Reference private StateProvider stateProvider; @Activate public void activate() { // ... } @Deactivate public void deactivate() { // ... } public void checkNodes() { List<Node> nodes = nodeManager.getNodes(); for (Node node : nodes) { Map<String, Object> state = stateProvider.getNodeState(node); // ... } } } Service-Component: *


上一篇:
下一篇:
切换中文