You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ra...@apache.org on 2010/06/16 12:17:06 UTC
svn commit: r955179 - in
/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb:
KahaDBPersistenceAdapter.java MessageDatabase.java
Author: rajdavies
Date: Wed Jun 16 10:17:06 2010
New Revision: 955179
URL: http://svn.apache.org/viewvc?rev=955179&view=rev
Log:
Fix for https://issues.apache.org/activemq/browse/AMQ-2738
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapter.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapter.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapter.java?rev=955179&r1=955178&r2=955179&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapter.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapter.java Wed Jun 16 10:17:06 2010
@@ -455,6 +455,20 @@ public class KahaDBPersistenceAdapter im
public void setMaxAsyncJobs(int maxAsyncJobs) {
letter.setMaxAsyncJobs(maxAsyncJobs);
}
+
+ /**
+ * @return the databaseLockedWaitDelay
+ */
+ public int getDatabaseLockedWaitDelay() {
+ return letter.getDatabaseLockedWaitDelay();
+ }
+
+ /**
+ * @param databaseLockedWaitDelay the databaseLockedWaitDelay to set
+ */
+ public void setDatabaseLockedWaitDelay(int databaseLockedWaitDelay) {
+ letter.setDatabaseLockedWaitDelay(databaseLockedWaitDelay);
+ }
@Override
public String toString() {
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java?rev=955179&r1=955178&r2=955179&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java Wed Jun 16 10:17:06 2010
@@ -88,7 +88,7 @@ public class MessageDatabase extends Ser
public static final int LOG_SLOW_ACCESS_TIME = Integer.parseInt(System.getProperty(PROPERTY_LOG_SLOW_ACCESS_TIME, "500"));
private static final Log LOG = LogFactory.getLog(MessageDatabase.class);
- private static final int DATABASE_LOCKED_WAIT_DELAY = 10 * 1000;
+ private static final int DEFAULT_DATABASE_LOCKED_WAIT_DELAY = 10 * 1000;
public static final int CLOSED_STATE = 1;
public static final int OPEN_STATE = 2;
@@ -177,6 +177,7 @@ public class MessageDatabase extends Ser
private int indexCacheSize = 10000;
private boolean checkForCorruptJournalFiles = false;
private boolean checksumJournalFiles = false;
+ private int databaseLockedWaitDelay = DEFAULT_DATABASE_LOCKED_WAIT_DELAY;
public MessageDatabase() {
@@ -294,9 +295,9 @@ public class MessageDatabase extends Ser
lockFile.lock();
break;
} catch (IOException e) {
- LOG.info("Database "+lockFileName+" is locked... waiting " + (DATABASE_LOCKED_WAIT_DELAY / 1000) + " seconds for the database to be unlocked. Reason: " + e);
+ LOG.info("Database "+lockFileName+" is locked... waiting " + (getDatabaseLockedWaitDelay() / 1000) + " seconds for the database to be unlocked. Reason: " + e);
try {
- Thread.sleep(DATABASE_LOCKED_WAIT_DELAY);
+ Thread.sleep(getDatabaseLockedWaitDelay());
} catch (InterruptedException e1) {
}
}
@@ -1616,4 +1617,18 @@ public class MessageDatabase extends Ser
public void setDirectoryArchive(File directoryArchive) {
this.directoryArchive = directoryArchive;
}
+
+ /**
+ * @return the databaseLockedWaitDelay
+ */
+ public int getDatabaseLockedWaitDelay() {
+ return this.databaseLockedWaitDelay;
+ }
+
+ /**
+ * @param databaseLockedWaitDelay the databaseLockedWaitDelay to set
+ */
+ public void setDatabaseLockedWaitDelay(int databaseLockedWaitDelay) {
+ this.databaseLockedWaitDelay = databaseLockedWaitDelay;
+ }
}