Repository: airavata Updated Branches: refs/heads/master eb3ae3163 -> 67195e535
Fixing server hanging issue - https://issues.apache.org/jira/browse/AIRAVATA-1072 Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/67195e53 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/67195e53 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/67195e53 Branch: refs/heads/master Commit: 67195e5356bd24f074f6198c9ebb51e1c93767fc Parents: eb3ae31 Author: lahiru <[email protected]> Authored: Mon Mar 10 18:45:44 2014 -0400 Committer: lahiru <[email protected]> Committed: Mon Mar 10 18:45:44 2014 -0400 ---------------------------------------------------------------------- .../airavata/job/monitor/core/PushMonitor.java | 8 ++++++++ .../job/monitor/impl/push/amqp/AMQPMonitor.java | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/67195e53/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/core/PushMonitor.java ---------------------------------------------------------------------- diff --git a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/core/PushMonitor.java b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/core/PushMonitor.java index 01793ac..e3ecccd 100644 --- a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/core/PushMonitor.java +++ b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/core/PushMonitor.java @@ -49,4 +49,12 @@ public abstract class PushMonitor extends AiravataAbstractMonitor { * @return */ public abstract boolean unRegisterListener(MonitorID monitorID)throws AiravataMonitorException; + + /** + * This can be used to stop the registration thread + * @return + * @throws AiravataMonitorException + */ + public abstract boolean stopRegister()throws AiravataMonitorException; + } http://git-wip-us.apache.org/repos/asf/airavata/blob/67195e53/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/push/amqp/AMQPMonitor.java ---------------------------------------------------------------------- diff --git a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/push/amqp/AMQPMonitor.java b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/push/amqp/AMQPMonitor.java index 8bca73c..807d49d 100644 --- a/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/push/amqp/AMQPMonitor.java +++ b/modules/airavata-job-monitor/src/main/java/org/apache/airavata/job/monitor/impl/push/amqp/AMQPMonitor.java @@ -67,6 +67,8 @@ public class AMQPMonitor extends PushMonitor { private List<String> amqpHosts; + private boolean startRegister; + public AMQPMonitor(){ } @@ -122,7 +124,8 @@ public class AMQPMonitor extends PushMonitor { public void run() { // before going to the while true mode we start unregister thread - while (true) { + startRegister = true; // this will be unset by someone else + while (startRegister) { try { MonitorID take = runningQueue.take(); this.registerListener(take); @@ -173,6 +176,11 @@ public class AMQPMonitor extends PushMonitor { return true; } + @Override + public boolean stopRegister() throws AiravataMonitorException { + return false; //To change body of implemented methods use File | Settings | File Templates. + } + public Map<String, Channel> getAvailableChannels() { return availableChannels; } @@ -220,4 +228,12 @@ public class AMQPMonitor extends PushMonitor { public void setAmqpHosts(List<String> amqpHosts) { this.amqpHosts = amqpHosts; } + + public boolean isStartRegister() { + return startRegister; + } + + public void setStartRegister(boolean startRegister) { + this.startRegister = startRegister; + } }
