using try catch when reading topology
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/69940114 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/69940114 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/69940114 Branch: refs/heads/master Commit: 69940114bea87832fcca36d85a57235090606ee6 Parents: d33ae46 Author: R-Rajkumar <[email protected]> Authored: Mon Oct 13 15:04:37 2014 +0530 Committer: R-Rajkumar <[email protected]> Committed: Mon Oct 13 15:04:37 2014 +0530 ---------------------------------------------------------------------- .../extension/FaultHandlingWindowProcessor.java | 34 +++++++++++--------- 1 file changed, 19 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/69940114/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java ---------------------------------------------------------------------- diff --git a/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java b/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java index f3ab64d..4563323 100644 --- a/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java +++ b/extensions/cep/stratos-cep-extension/src/main/java/org/apache/stratos/cep/extension/FaultHandlingWindowProcessor.java @@ -176,26 +176,30 @@ public class FaultHandlingWindowProcessor extends WindowProcessor implements Run return null; } if (TopologyManager.getTopology().isInitialized()){ - TopologyManager.acquireReadLock(); - if (TopologyManager.getTopology().getServices() == null){ - return null; - } - - // TODO make this efficient by adding APIs to messaging component - for (Service service : TopologyManager.getTopology().getServices()) { - if (service.getClusters() != null) { - for (Cluster cluster : service.getClusters()) { - if (cluster.getMembers() != null) { - for (Member member : cluster.getMembers()){ - if (memberId.equals(member.getMemberId())){ - return member; + try { + TopologyManager.acquireReadLock(); + if (TopologyManager.getTopology().getServices() == null){ + return null; + } + // TODO make this efficient by adding APIs to messaging component + for (Service service : TopologyManager.getTopology().getServices()) { + if (service.getClusters() != null) { + for (Cluster cluster : service.getClusters()) { + if (cluster.getMembers() != null) { + for (Member member : cluster.getMembers()){ + if (memberId.equals(member.getMemberId())){ + return member; + } } } } } } - } - TopologyManager.releaseReadLock(); + } catch (Exception e) { + log.error("Error while reading topology" + e); + } finally { + TopologyManager.releaseReadLock(); + } } return null; }
