[jboss-cvs] JBoss Messaging SVN: r2415 - trunk/src/main/org/jboss/jms/client.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Feb 24 08:47:08 EST 2007
Author: ovidiu.feodorov at jboss.com
Date: 2007-02-24 08:47:08 -0500 (Sat, 24 Feb 2007)
New Revision: 2415
Modified:
trunk/src/main/org/jboss/jms/client/FailoverValve.java
Log:
configurable write lock attempt timeout
Modified: trunk/src/main/org/jboss/jms/client/FailoverValve.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/FailoverValve.java 2007-02-24 13:46:40 UTC (rev 2414)
+++ trunk/src/main/org/jboss/jms/client/FailoverValve.java 2007-02-24 13:47:08 UTC (rev 2415)
@@ -41,6 +41,8 @@
private static final Logger log = Logger.getLogger(FailoverValve.class);
+ public static final long DEFAULT_ATTEMPT_TIMEOUT = 5000;
+
// Static ---------------------------------------------------------------------------------------
private static boolean trace = log.isTraceEnabled();
@@ -64,17 +66,29 @@
private FailoverCommandCenter fcc;
+ private long writeLockAttemptTimeout;
+
// Constructors ---------------------------------------------------------------------------------
public FailoverValve()
{
- this(null);
+ this(null, DEFAULT_ATTEMPT_TIMEOUT);
}
+ public FailoverValve(long attemptTiemout)
+ {
+ this(null, attemptTiemout);
+ }
+
+ public FailoverValve(FailoverCommandCenter fcc)
+ {
+ this(fcc, DEFAULT_ATTEMPT_TIMEOUT);
+ }
+
/**
* @param fcc - can be null, for an uninitialized valve.
*/
- public FailoverValve(FailoverCommandCenter fcc)
+ public FailoverValve(FailoverCommandCenter fcc, long attemptTiemout)
{
this.fcc = fcc;
@@ -84,6 +98,8 @@
// for the API, we just close the valve and the read lock is promoted to write lock.
lock = new ReentrantWriterPreferenceReadWriteLock();
+ this.writeLockAttemptTimeout = attemptTiemout;
+
if (trace)
{
stackCloses = new ThreadLocal();
@@ -153,7 +169,7 @@
do
{
- acquired = lock.writeLock().attempt(5000);
+ acquired = lock.writeLock().attempt(writeLockAttemptTimeout);
if (!acquired)
{
@@ -211,6 +227,11 @@
log.debug(this + " opened");
}
+ public long getWriteLockAttemptTimeout()
+ {
+ return writeLockAttemptTimeout;
+ }
+
public String toString()
{
return "FailoverValve[" +
@@ -231,7 +252,7 @@
*/
private Counter getCounter()
{
- Counter localCounter = (Counter) counterLocal.get();
+ Counter localCounter = (Counter)counterLocal.get();
if (localCounter == null)
{
@@ -279,7 +300,7 @@
for (Iterator iter = debugCloses.entrySet().iterator(); iter.hasNext();)
{
Map.Entry entry = (Map.Entry) iter.next();
- writer.println("Thread that own a close =" + entry.getValue());
+ writer.println("Thread that owns a close =" + entry.getValue());
writer.println("StackTrace:");
Exception e = (Exception) entry.getKey();
e.printStackTrace(writer);
@@ -289,7 +310,7 @@
for (Iterator iter = debugEnters.entrySet().iterator(); iter.hasNext();)
{
Map.Entry entry = (Map.Entry) iter.next();
- writer.println("Thread that own valve =" + entry.getValue());
+ writer.println("Thread that owns valve =" + entry.getValue());
writer.println("StackTrace:");
Exception e = (Exception) entry.getKey();
e.printStackTrace(writer);
More information about the jboss-cvs-commits
mailing list