You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2011/12/16 21:55:52 UTC

svn commit: r1215269 - in /incubator/lcf/trunk: CHANGES.txt framework/agents/src/main/java/org/apache/manifoldcf/agents/AgentRun.java

Author: kwright
Date: Fri Dec 16 20:55:50 2011
New Revision: 1215269

URL: http://svn.apache.org/viewvc?rev=1215269&view=rev
Log:
Fix for CONNECTORS-319.

Modified:
    incubator/lcf/trunk/CHANGES.txt
    incubator/lcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/AgentRun.java

Modified: incubator/lcf/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/CHANGES.txt?rev=1215269&r1=1215268&r2=1215269&view=diff
==============================================================================
--- incubator/lcf/trunk/CHANGES.txt (original)
+++ incubator/lcf/trunk/CHANGES.txt Fri Dec 16 20:55:50 2011
@@ -8,6 +8,10 @@ CONNECTORS-324: Maven build broken
 
 ======================= Release 0.4 =========================
 
+CONNECTORS-319: Added a shutdown hook to the AgentRun command,
+so that if you ^C out of it you can rerun.
+(Karl Wright)
+
 CONNECTORS-325: Adeguate the content identifier with the Alfresco node reference
 (Piergiorgio Lucidi)
 

Modified: incubator/lcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/AgentRun.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/AgentRun.java?rev=1215269&r1=1215268&r2=1215269&view=diff
==============================================================================
--- incubator/lcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/AgentRun.java (original)
+++ incubator/lcf/trunk/framework/agents/src/main/java/org/apache/manifoldcf/agents/AgentRun.java Fri Dec 16 20:55:50 2011
@@ -44,6 +44,9 @@ public class AgentRun extends BaseAgents
       System.err.println("Agent already in use");
       System.exit(1);
     }
+    
+    ManifoldCF.addShutdownHook(new AgentRunShutdownRunner());
+    
     // Set the agents in use signal.
     lockManager.setGlobalFlag(agentInUseSignal);    
     try
@@ -105,4 +108,21 @@ public class AgentRun extends BaseAgents
       System.exit(1);
     }
   }
+  
+  protected static class AgentRunShutdownRunner implements IShutdownHook
+  {
+    public AgentRunShutdownRunner()
+    {
+    }
+    
+    public void doCleanup()
+      throws ManifoldCFException
+    {
+      IThreadContext tc = ThreadContextFactory.make();
+      ILockManager lockManager = LockManagerFactory.make(tc);
+      lockManager.clearGlobalFlag(agentInUseSignal);
+    }
+    
+  }
+  
 }