[jboss-cvs] JBossAS SVN: r66945 - branches/JBPAPP_4_2_0_GA_CP/connector/src/main/org/jboss/resource/adapter/jms/inflow.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Nov 9 17:25:32 EST 2007
Author: bdecoste
Date: 2007-11-09 17:25:32 -0500 (Fri, 09 Nov 2007)
New Revision: 66945
Modified:
branches/JBPAPP_4_2_0_GA_CP/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsActivationSpec.java
branches/JBPAPP_4_2_0_GA_CP/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsServerSessionPool.java
Log:
[JBPAPP-387] merged changes for TIBCO EMS failover
Modified: branches/JBPAPP_4_2_0_GA_CP/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsActivationSpec.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsActivationSpec.java 2007-11-09 22:25:28 UTC (rev 66944)
+++ branches/JBPAPP_4_2_0_GA_CP/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsActivationSpec.java 2007-11-09 22:25:32 UTC (rev 66945)
@@ -122,6 +122,43 @@
private Boolean isSameRMOverrideValue;
+ private boolean forceClearOnShutdown = false;
+
+ private long forceClearOnShutdownInterval = 1000;
+
+ private int forceClearAttempts = 0;
+
+ public void setForceClearOnShutdown(boolean forceClear)
+ {
+ this.forceClearOnShutdown = forceClear;
+ }
+
+ public boolean isForceClearOnShutdown()
+ {
+ return this.forceClearOnShutdown;
+ }
+
+ public long getForceClearOnShutdownInterval()
+ {
+ return this.forceClearOnShutdownInterval;
+ }
+
+ public void setForceClearOnShutdownInterval(long forceClearOnShutdownInterval)
+ {
+ this.forceClearOnShutdownInterval = forceClearOnShutdownInterval;
+ }
+
+ public int getForceClearAttempts()
+ {
+ return forceClearAttempts;
+ }
+
+ public void setForceClearAttempts(int forceClearAttempts)
+ {
+ this.forceClearAttempts = forceClearAttempts;
+ }
+
+
/**
* @return the acknowledgeMode.
*/
Modified: branches/JBPAPP_4_2_0_GA_CP/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsServerSessionPool.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsServerSessionPool.java 2007-11-09 22:25:28 UTC (rev 66944)
+++ branches/JBPAPP_4_2_0_GA_CP/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsServerSessionPool.java 2007-11-09 22:25:32 UTC (rev 66945)
@@ -221,16 +221,42 @@
sessionCount -= serverSessions.size();
serverSessions.clear();
-
- // Wait for inuse sessions
- while (sessionCount > 0)
- {
- try
+
+ if (activation.getActivationSpec().isForceClearOnShutdown())
+ {
+ int attempts = 0;
+ int forceClearAttempts = activation.getActivationSpec().getForceClearAttempts();
+ long forceClearInterval = activation.getActivationSpec().getForceClearOnShutdownInterval();
+
+ log.info("Force clear behavior in effect. Waiting for " + forceClearInterval + " milliseconds for " + forceClearAttempts + " attempts.");
+
+ while((sessionCount > 0) && (attempts < forceClearAttempts))
{
- serverSessions.wait();
+ try
+ {
+ serverSessions.wait(forceClearInterval);
+ log.trace("Clear attempt " + attempts);
+ ++attempts;
+
+ }catch(InterruptedException ignore)
+ {
+
+ }
+
}
- catch (InterruptedException ignore)
+ }
+ else
+ {
+ // Wait for inuse sessions
+ while (sessionCount > 0)
{
+ try
+ {
+ serverSessions.wait();
+ }
+ catch (InterruptedException ignore)
+ {
+ }
}
}
}
More information about the jboss-cvs-commits
mailing list