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