[jboss-svn-commits] JBL Code SVN: r8779 - in labs/jbossesb/trunk/product/core: listeners/tests/src/org/jboss/soa/esb/listeners and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jan 9 14:14:09 EST 2007
Author: estebanschifman
Date: 2007-01-09 14:13:58 -0500 (Tue, 09 Jan 2007)
New Revision: 8779
Modified:
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java
labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFtp.xml
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
Log:
Fixes to use pollLatencySeconds attribute in FileCourier and SqlTableCourier
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java 2007-01-09 18:58:39 UTC (rev 8778)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java 2007-01-09 19:13:58 UTC (rev 8779)
@@ -22,6 +22,8 @@
package org.jboss.soa.esb.listeners.message;
+import java.lang.reflect.Method;
+
import org.jboss.internal.soa.esb.couriers.PickUpOnlyCourier;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.couriers.CourierException;
@@ -94,8 +96,6 @@
try
{
registerProcess();
- _pickUpCourier = CourierFactory.getPickupCourier(_epr);
- return true;
}
catch (Exception re)
{
@@ -104,7 +104,50 @@
catch (Exception iE) {/* OK do nothing */}
return false;
}
-
+ try
+ {
+ Method setPollLatency = null;
+ _pickUpCourier = CourierFactory.getPickupCourier(_epr);
+ try
+ {
+ setPollLatency = _pickUpCourier.getClass()
+ .getMethod("setPollLatency", new Class[] {Long.class} );
+ }
+ catch (NoSuchMethodException e)
+ {
+ // OK, just leave it null
+ }
+
+ if (null!=setPollLatency)
+ {
+ String latency = _config.getAttribute(ListenerTagNames.POLL_LATENCY_SECS_TAG);
+ long lSeconds = 10;
+ if (null!=latency)
+ try
+ {
+ lSeconds = Integer.parseInt(latency);
+ }
+ catch (NumberFormatException e)
+ {
+ _logger.warn("Invalid number format <"+latency+"> using default value ("+lSeconds+")");
+ }
+ try
+ {
+ setPollLatency.invoke(_pickUpCourier, new Long(1000*lSeconds));
+ }
+ catch (Exception e)
+ {
+ _logger.warn("Problems invoking setPollLatency(long)",e);
+ return false;
+ }
+ }
+ return true;
+ }
+ catch (CourierException e)
+ {
+ _logger.fatal("No appropriate courier can be obtained for " + _epr.toString(),e);
+ return false;
+ }
} //________________________________
@Override
Modified: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFtp.xml
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFtp.xml 2007-01-09 18:58:39 UTC (rev 8778)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFtp.xml 2007-01-09 19:13:58 UTC (rev 8779)
@@ -5,6 +5,7 @@
service-description="My Dummy Service Name FILE"
listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener"
maxThreads="10"
+ pollLatencySeconds="1"
>
<EPR
URL="ftp://ftpuser:ftppassword@localhost:/"
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java 2007-01-09 18:58:39 UTC (rev 8778)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java 2007-01-09 19:13:58 UTC (rev 8779)
@@ -301,9 +301,10 @@
}
try
{
- // TODO magic number!!
-
- Thread.sleep(200);
+ long lSleep = limit - System.currentTimeMillis();
+ if (_pollLatency < lSleep)
+ lSleep = _pollLatency;
+ Thread.sleep(lSleep);
}
catch (InterruptedException e)
{
@@ -473,6 +474,16 @@
return new File(dir, input.getName() + sfx);
} // ________________________________
+
+ public void setPollLatency(Long millis)
+ {
+ if (millis <= 900)
+ _logger.warn("Poll latency must be >= 900 milliseconds - Keeping old value of "+_pollLatency);
+ else
+ _pollLatency = millis;
+ } // ________________________________
+
+ protected long _pollLatency = 900;
protected static final String DEFAULT_TMP = System
.getProperty("java.io.tmpdir");
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java 2007-01-09 18:58:39 UTC (rev 8778)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java 2007-01-09 19:13:58 UTC (rev 8779)
@@ -197,7 +197,10 @@
}
try
{
- Thread.sleep(200);
+ long lSleep = limit - System.currentTimeMillis();
+ if (_pollLatency < lSleep)
+ lSleep = _pollLatency;
+ Thread.sleep(lSleep);
}
catch (InterruptedException e)
{
@@ -509,6 +512,16 @@
}
};
+ public void setPollLatency(Long millis)
+ {
+ if (millis <= 200)
+ _logger.warn("Poll latency must be >= 200 milliseconds - Keeping old value of "+_pollLatency);
+ else
+ _pollLatency = millis;
+ } // ________________________________
+
+ protected long _pollLatency = 200;
+
protected long _sleepForRetries = 3000; // milliseconds
protected boolean _postDelete, _errorDelete;
More information about the jboss-svn-commits
mailing list