Author: supun
Date: Mon Sep 20 11:29:01 2010
New Revision: 998890
URL: http://svn.apache.org/viewvc?rev=998890&view=rev
Log:
issue SYNAPSE-683
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DynamicLoadbalanceEndpointSerializer.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DynamicLoadbalanceEndpointSerializer.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DynamicLoadbalanceEndpointSerializer.java?rev=998890&r1=998889&r2=998890&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DynamicLoadbalanceEndpointSerializer.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DynamicLoadbalanceEndpointSerializer.java
Mon Sep 20 11:29:01 2010
@@ -23,6 +23,10 @@ import org.apache.synapse.config.xml.XML
import org.apache.synapse.core.LoadBalanceMembershipHandler;
import org.apache.synapse.endpoints.DynamicLoadbalanceEndpoint;
import org.apache.synapse.endpoints.Endpoint;
+import org.apache.synapse.endpoints.dispatch.Dispatcher;
+import org.apache.synapse.endpoints.dispatch.SoapSessionDispatcher;
+import org.apache.synapse.endpoints.dispatch.HttpSessionDispatcher;
+import org.apache.synapse.endpoints.dispatch.SimpleClientSessionDispatcher;
import java.util.Properties;
@@ -64,6 +68,30 @@ public class DynamicLoadbalanceEndpointS
endpointElement.addAttribute("name", name, null);
}
+ Dispatcher dispatcher = dynamicLoadbalanceEndpoint.getDispatcher();
+ if (dispatcher != null) {
+
+ OMElement sessionElement = fac.createOMElement("session",
SynapseConstants.SYNAPSE_OMNAMESPACE);
+ if (dispatcher instanceof SoapSessionDispatcher) {
+ sessionElement.addAttribute("type", "soap", null);
+ } else if (dispatcher instanceof HttpSessionDispatcher) {
+ sessionElement.addAttribute("type", "http", null);
+ } else if (dispatcher instanceof SimpleClientSessionDispatcher) {
+ sessionElement.addAttribute("type", "simpleClientSession",
null);
+ } else {
+ handleException("invalid session dispatcher : " +
dispatcher.getClass().getName());
+ }
+
+ long sessionTimeout =
dynamicLoadbalanceEndpoint.getSessionTimeout();
+ if (sessionTimeout != -1) {
+ OMElement sessionTimeoutElement =
fac.createOMElement("sessionTimeout",
+ SynapseConstants.SYNAPSE_OMNAMESPACE);
+ sessionTimeoutElement.setText(String.valueOf(sessionTimeout));
+ sessionElement.addChild(sessionTimeoutElement);
+ }
+ endpointElement.addChild(sessionElement);
+ }
+
OMElement dynamicLoadbalanceElement
= fac.createOMElement("dynamicLoadbalance",
SynapseConstants.SYNAPSE_OMNAMESPACE);
endpointElement.addChild(dynamicLoadbalanceElement);