Author: objectiser
Date: 2009-02-13 10:04:18 -0500 (Fri, 13 Feb 2009)
New Revision: 494
Modified:
cdl/trunk/validator/jbossesb/src/main/java/org/jboss/soa/overlord/validator/jbossesb/ServiceValidatorManager.java
Log:
Added configuration for dynamic endpoint monitoring timeout value.
Modified:
cdl/trunk/validator/jbossesb/src/main/java/org/jboss/soa/overlord/validator/jbossesb/ServiceValidatorManager.java
===================================================================
---
cdl/trunk/validator/jbossesb/src/main/java/org/jboss/soa/overlord/validator/jbossesb/ServiceValidatorManager.java 2009-02-12
16:52:07 UTC (rev 493)
+++
cdl/trunk/validator/jbossesb/src/main/java/org/jboss/soa/overlord/validator/jbossesb/ServiceValidatorManager.java 2009-02-13
15:04:18 UTC (rev 494)
@@ -342,6 +342,21 @@
logger.info("Setting validators into passive mode");
m_active = false;
}
+
+ // Check if dynamic reply-to endpoint timeout specified
+ String timeout=config.getAttribute(DYNAMIC_ENDPOINT_TIMEOUT_ATTR);
+ long replyToTimeout=DynamicReplyToEndpointManager.DYNAMIC_ENDPOINT_TIMEOUT;
+
+ if (timeout != null && timeout.trim().length() > 0) {
+ try {
+ replyToTimeout = Long.parseLong(timeout);
+ } catch(Exception te) {
+ logger.severe("Dynamic endpoint timeout value '"+
+ timeout+"' not a valid Long type: "+te);
+ }
+ }
+
+ m_replyToManager.setTimeout(replyToTimeout);
}
updateConfiguration(config, existingValidatorNames,
@@ -482,11 +497,11 @@
// Create service monitor for service
String modelName=
- services[i].getAttribute(MODEL_NAME);
+ services[i].getAttribute(MODEL_ATTR);
String role=
- services[i].getAttribute(ROLE_NAME);
+ services[i].getAttribute(ROLE_ATTR);
boolean validate=
- services[i].getBooleanAttribute(VALIDATE, true);
+ services[i].getBooleanAttribute(VALIDATE_ATTR, true);
// Check for old attribute names, for
// backward compatibility - only support
@@ -661,6 +676,7 @@
private static final String EPR_ATTR = "epr";
private static final String DYNAMIC_REPLY_TO_ATTR = "dynamicReplyTo";
+ private static final String DYNAMIC_ENDPOINT_TIMEOUT_ATTR =
"dynamicEndpointTimeout";
private static final String OUTPUT_NODE = "output";
private static final String INPUT_NODE = "input";
@@ -669,9 +685,9 @@
private static final String VALIDATOR_NODE = "validator";
private static final String CONFIG_FILE = "validator-config.xml";
- public static final String MODEL_NAME="model";
- public static final String ROLE_NAME="role";
- public static final String VALIDATE="validate";
+ private static final String MODEL_ATTR="model";
+ private static final String ROLE_ATTR="role";
+ private static final String VALIDATE_ATTR="validate";
private static ServiceValidatorManager m_instance=null;
private java.io.File m_validatorConfigFile=null;
@@ -761,6 +777,8 @@
public class DynamicReplyToEndpointManager extends Thread {
+ public static final int DYNAMIC_ENDPOINT_TIMEOUT = 10000;
+
/**
* The default constructor
*/
@@ -780,7 +798,7 @@
try {
synchronized(this) {
- wait(10000);
+ wait(m_timeout);
}
} catch(Exception e) {
logger.severe("Failed to wait");
@@ -827,6 +845,20 @@
}
/**
+ * This method sets the timeout used to determine when to
+ * discard the dynamic endpoints being monitored.
+ *
+ * @param timeout The timeout value
+ */
+ public void setTimeout(long timeout) {
+ m_timeout = timeout;
+
+ if (logger.isLoggable(Level.FINE)) {
+ logger.fine("Dynamic endpoint monitoring timeout="+timeout);
+ }
+ }
+
+ /**
* This method returns the list of service validators
* associated with the dynamic reply-to endpoint.
*
@@ -924,5 +956,6 @@
new java.util.HashMap<Endpoint,java.util.List<ServiceValidator>>();
private java.util.Map<Endpoint,java.util.List<ServiceValidator>>
m_outputsPendingDelete=
new java.util.HashMap<Endpoint,java.util.List<ServiceValidator>>();
+ private long m_timeout=DYNAMIC_ENDPOINT_TIMEOUT;
}
}
Show replies by date