You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2012/02/08 18:43:59 UTC

svn commit: r1242005 - in /incubator/airavata/trunk/modules/ws-messenger: distribution/src/main/resources/ messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/ messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/util/ messagebox/src/test/reso...

Author: lahiru
Date: Wed Feb  8 17:43:59 2012
New Revision: 1242005

URL: http://svn.apache.org/viewvc?rev=1242005&view=rev
Log:
fixing https://issues.apache.org/jira/browse/AIRAVATA-293.

Modified:
    incubator/airavata/trunk/modules/ws-messenger/distribution/src/main/resources/msgBox.properties
    incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/MsgBoxServiceLifeCycle.java
    incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/MsgBoxServiceSkeleton.java
    incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/util/ConfigKeys.java
    incubator/airavata/trunk/modules/ws-messenger/messagebox/src/test/resources/conf/msgBox.properties

Modified: incubator/airavata/trunk/modules/ws-messenger/distribution/src/main/resources/msgBox.properties
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/ws-messenger/distribution/src/main/resources/msgBox.properties?rev=1242005&r1=1242004&r2=1242005&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/ws-messenger/distribution/src/main/resources/msgBox.properties (original)
+++ incubator/airavata/trunk/modules/ws-messenger/distribution/src/main/resources/msgBox.properties Wed Feb  8 17:43:59 2012
@@ -27,3 +27,6 @@ msgBox.usedatabase=true
 messagePreservationDays=2
 messagePreservationHours=0
 messagePreservationMinutes=0
+messagePerservationIntervalDays=0
+messagePerservationIntervalHours=1
+messagePerservationIntervalMinutes=0
\ No newline at end of file

Modified: incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/MsgBoxServiceLifeCycle.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/MsgBoxServiceLifeCycle.java?rev=1242005&r1=1242004&r2=1242005&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/MsgBoxServiceLifeCycle.java (original)
+++ incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/MsgBoxServiceLifeCycle.java Wed Feb  8 17:43:59 2012
@@ -62,6 +62,7 @@ public class MsgBoxServiceLifeCycle impl
         // Load the configuration file from the classpath
         ConfigurationManager confmanager = new ConfigurationManager("conf" + File.separator + CONFIGURATION_FILE_NAME);
         initDatabase(configurationcontext, confmanager);
+        configurationcontext.setProperty(ConfigKeys.MSG_PRESV_INTERVAL,getIntervaltoExecuteDelete(confmanager));
     }
 
     public void initDatabase(ConfigurationContext configurationcontext, ConfigurationManager confmanager) {
@@ -94,4 +95,16 @@ public class MsgBoxServiceLifeCycle impl
         return interval;
     }
 
+    private long getIntervaltoExecuteDelete(ConfigurationManager configs) {
+        int messagePreservationDays = configs.getConfig(ConfigKeys.MSG_PRESV_INTERVAL_DAYS, 0);
+        int messagePreservationHours = configs.getConfig(ConfigKeys.MSG_PRESV_INTERVAL_HRS, 0);
+        int messagePreservationMinutes = configs.getConfig(ConfigKeys.MSG_PRESV_INTERVAL_MINS, 5);
+
+        long interval = messagePreservationDays * 24l;
+        interval = (interval + messagePreservationHours) * 60;
+        interval = (interval + messagePreservationMinutes) * 60;
+        interval = interval * 1000;
+        return interval;
+    }
+
 }

Modified: incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/MsgBoxServiceSkeleton.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/MsgBoxServiceSkeleton.java?rev=1242005&r1=1242004&r2=1242005&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/MsgBoxServiceSkeleton.java (original)
+++ incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/MsgBoxServiceSkeleton.java Wed Feb  8 17:43:59 2012
@@ -28,6 +28,7 @@ import java.util.List;
 import org.apache.airavata.wsmg.commons.MsgBoxQNameConstants;
 import org.apache.airavata.wsmg.commons.NameSpaceConstants;
 import org.apache.airavata.wsmg.msgbox.Storage.MsgBoxStorage;
+import org.apache.airavata.wsmg.msgbox.util.ConfigKeys;
 import org.apache.airavata.wsmg.msgbox.util.MsgBoxCommonConstants;
 import org.apache.airavata.wsmg.msgbox.util.MsgBoxUtils;
 import org.apache.axiom.om.OMAbstractFactory;
@@ -38,6 +39,7 @@ import org.apache.axis2.context.ServiceC
 import org.apache.axis2.service.Lifecycle;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import sun.beans.editors.LongEditor;
 
 /**
  * Service class for MsgBoxService this get called by MsgBoxServiceMessageReceiverInOut with ProcessingContext
@@ -47,7 +49,6 @@ public class MsgBoxServiceSkeleton imple
     private static final Logger logger = LoggerFactory.getLogger(MsgBoxServiceSkeleton.class);
     private static final String TRUE = Boolean.toString(true);
     private static final String FALSE = Boolean.toString(false);
-    private static final long SLEEP_TIME = 5 * 60 * 1000l; // 1 hour;
     private static OMFactory factory = OMAbstractFactory.getOMFactory();
     private MsgBoxStorage storage;
     private Thread deletingThread;
@@ -56,9 +57,8 @@ public class MsgBoxServiceSkeleton imple
     public void init(ServiceContext context) throws AxisFault {
         this.storage = (MsgBoxStorage) context.getConfigurationContext().getProperty(
                 MsgBoxCommonConstants.MSGBOX_STORAGE);
-
         logger.info("Start clean up thread for messagebox");
-        deletingThread = new Thread(new DeleteOldMessageRunnable());
+        deletingThread = new Thread(new DeleteOldMessageRunnable(context.getConfigurationContext().getProperty(ConfigKeys.MSG_PRESV_INTERVAL)));
         deletingThread.start();
     }
 
@@ -163,18 +163,18 @@ public class MsgBoxServiceSkeleton imple
     }
 
     class DeleteOldMessageRunnable implements Runnable {
-
+        long longInterval = 60 * 60 * 1000;
+        DeleteOldMessageRunnable(Object inveral){
+          longInterval = (Long)inveral;
+        }
         public void run() {
             while (!stop) {
                 try {
-
-                    // sleep
-                    Thread.sleep(SLEEP_TIME);
-
-                    // try to remove old message
+                        // try to remove old message
                     if (storage != null) {
                         storage.removeAncientMessages();
                     }
+                    Thread.sleep(longInterval);
                 } catch (Exception e) {
                     logger.warn("Msgbox cleanup thread is interrupted to close");
                 }

Modified: incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/util/ConfigKeys.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/util/ConfigKeys.java?rev=1242005&r1=1242004&r2=1242005&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/util/ConfigKeys.java (original)
+++ incubator/airavata/trunk/modules/ws-messenger/messagebox/src/main/java/org/apache/airavata/wsmg/msgbox/util/ConfigKeys.java Wed Feb  8 17:43:59 2012
@@ -29,4 +29,8 @@ public class ConfigKeys {
     public static final String MSG_BOX_JDBC_DRIVER = "msgBox.jdbc.driver";
     public static final String MSG_BOX_JDBC_URL = "msgBox.jdbc.url";
     public static final String USE_DATABASE_STORAGE = "msgBox.usedatabase";
+    public static final String MSG_PRESV_INTERVAL_DAYS = "messagePreservationIntervalDays";
+    public static final String MSG_PRESV_INTERVAL_HRS = "messagePreservationIntervalHours";
+    public static final String MSG_PRESV_INTERVAL_MINS = "messagePreservationIntervalMinutes";
+    public static final String MSG_PRESV_INTERVAL = "messagePreservationInterval";
 }

Modified: incubator/airavata/trunk/modules/ws-messenger/messagebox/src/test/resources/conf/msgBox.properties
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/ws-messenger/messagebox/src/test/resources/conf/msgBox.properties?rev=1242005&r1=1242004&r2=1242005&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/ws-messenger/messagebox/src/test/resources/conf/msgBox.properties (original)
+++ incubator/airavata/trunk/modules/ws-messenger/messagebox/src/test/resources/conf/msgBox.properties Wed Feb  8 17:43:59 2012
@@ -27,3 +27,6 @@ msgBox.usedatabase=false
 messagePreservationDays=0
 messagePreservationHours=0
 messagePreservationMinutes=5
+messagePerservationIntervalDays=0
+messagePerservationIntervalHours=1
+messagePerservationIntervalMinutes=0