You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by su...@apache.org on 2010/09/20 13:29:01 UTC
svn commit: r998890 -
/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/DynamicLoadbalanceEndpointSerializer.java
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);