You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ka...@apache.org on 2011/12/19 13:26:16 UTC
svn commit: r1220710 - in /synapse/branches/2.1: ./
modules/commons/src/main/java/org/apache/synapse/commons/builders/
modules/core/src/main/java/org/apache/synapse/config/xml/
modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/
modules...
Author: kasun
Date: Mon Dec 19 12:26:15 2011
New Revision: 1220710
URL: http://svn.apache.org/viewvc?rev=1220710&view=rev
Log:
Chaning dependecies of 2.1 to release versions of axis2, axiom, shandesha, axis2-transports
Removed:
synapse/branches/2.1/modules/commons/src/main/java/org/apache/synapse/commons/builders/
synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/ServiceDynamicLoadbalanceEndpointFactory.java
synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/ServiceDynamicLoadbalanceEndpoint.java
synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpTransportDescriptionFactory.java
Modified:
synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/OMElementUtils.java
synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java
synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/RoundRobin.java
synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/Value.java
synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CacheMediator.java
synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/AXIOMUtils.java
synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/Replicator.java
synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/jaxp/AXIOMSourceBuilder.java
synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java
synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/util/RESTUtil.java
synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java
synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpoint.java
synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpointListener.java
synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeListener.java
synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/PollTableEntry.java
synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
synapse/branches/2.1/pom.xml
Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/OMElementUtils.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/OMElementUtils.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/OMElementUtils.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/OMElementUtils.java Mon Dec 19 12:26:15 2011
@@ -20,6 +20,7 @@
package org.apache.synapse.config.xml;
import org.apache.axiom.om.OMContainer;
+import org.apache.axiom.om.OMDocument;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNamespace;
import org.apache.commons.logging.Log;
@@ -39,8 +40,9 @@ public class OMElementUtils {
/**
* Return the namespace with the given prefix, using the given element
+ *
* @param prefix the prefix looked up
- * @param elem the source element to use
+ * @param elem the source element to use
* @return the namespace which maps to the prefix or null
*/
public static String getNameSpaceWithPrefix(String prefix, OMElement elem) {
@@ -48,19 +50,19 @@ public class OMElementUtils {
log.warn("Searching for null NS prefix and/or using null OMElement");
return null;
}
-
+
OMElement currentElem = elem;
while (true) {
Iterator iter = currentElem.getAllDeclaredNamespaces();
while (iter.hasNext()) {
OMNamespace ns = (OMNamespace) iter.next();
if (prefix.equals(ns.getPrefix())) {
- return ns.getNamespaceURI();
+ return ns.getNamespaceURI();
}
}
OMContainer parent = currentElem.getParent();
if (parent != null && parent instanceof OMElement) {
- currentElem = (OMElement)parent;
+ currentElem = (OMElement) parent;
} else {
return null;
}
@@ -71,7 +73,7 @@ public class OMElementUtils {
* Add the namespace declarations of a given {@link OMElement} to the namespace
* context of an XPath expression. Typically this method is used with an XPath
* expression appearing in an attribute of the given element.
- * <p>
+ * <p/>
* Note that the default namespace is explicitly excluded and not added to the
* namespace context. This implies that XPath expressions
* appearing in Synapse configuration files follow the same rule as in XSL
@@ -82,29 +84,43 @@ public class OMElementUtils {
* attribute in which the expression occurs; [...] the default namespace
* (as declared by xmlns) is not part of this set
* </blockquote>
- *
+ *
* @param xpath
* @param elem
* @param log
*/
public static void addNameSpaces(XPath xpath, OMElement elem, Log log) {
- Iterator it = elem.getNamespacesInScope();
- while (it.hasNext()) {
+ OMElement currentElem = elem;
- OMNamespace n = (OMNamespace) it.next();
- // Exclude the default namespace as explained in the Javadoc above
- if (n.getPrefix().length() > 0) {
-
- try {
- xpath.addNamespace(n.getPrefix(), n.getNamespaceURI());
- } catch (JaxenException je) {
- String msg = "Error adding declared name space with prefix : "
- + n.getPrefix() + "and uri : " + n.getNamespaceURI()
- + " to the XPath : " + xpath;
- log.error(msg);
- throw new SynapseException(msg, je);
+ while (currentElem != null) {
+ Iterator it = currentElem.getAllDeclaredNamespaces();
+ while (it.hasNext()) {
+
+ OMNamespace n = (OMNamespace) it.next();
+ // Exclude the default namespace as explained in the Javadoc above
+ if (n != null && !"".equals(n.getPrefix())) {
+
+ try {
+ xpath.addNamespace(n.getPrefix(), n.getNamespaceURI());
+ } catch (JaxenException je) {
+ String msg = "Error adding declared name space with prefix : "
+ + n.getPrefix() + "and uri : " + n.getNamespaceURI()
+ + " to the XPath : " + xpath;
+ log.error(msg);
+ throw new SynapseException(msg, je);
+ }
}
}
+
+ OMContainer parent = currentElem.getParent();
+ //if the parent is a document element or parent is null ,then return
+ if (parent == null || parent instanceof OMDocument) {
+ return;
+ }
+ if (parent instanceof OMElement) {
+ currentElem = (OMElement) parent;
+ }
}
}
+
}
Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/EndpointFactory.java Mon Dec 19 12:26:15 2011
@@ -227,12 +227,6 @@ public abstract class EndpointFactory im
return DynamicLoadbalanceEndpointFactory.getInstance();
}
- OMElement sdlbElement = configElement.getFirstChildWithName
- (new QName(SynapseConstants.SYNAPSE_NAMESPACE, "serviceDynamicLoadbalance"));
- if (sdlbElement != null) {
- return ServiceDynamicLoadbalanceEndpointFactory.getInstance();
- }
-
OMElement foElement = configElement.getFirstChildWithName
(new QName(SynapseConstants.SYNAPSE_NAMESPACE, "failover"));
if (foElement != null) {
Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/RoundRobin.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/RoundRobin.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/RoundRobin.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/endpoints/algorithms/RoundRobin.java Mon Dec 19 12:26:15 2011
@@ -112,15 +112,15 @@ public class RoundRobin implements Loadb
currentMemberIndex = 0;
}
int index = members.size();
- do {
- current = members.get(currentMemberIndex);
- if (currentMemberIndex == members.size() - 1) {
- currentMemberIndex = 0;
- } else {
- currentMemberIndex++;
- }
- index--;
- } while (current.isSuspended() && index > 0);
+
+ current = members.get(currentMemberIndex);
+ if (currentMemberIndex == members.size() - 1) {
+ currentMemberIndex = 0;
+ } else {
+ currentMemberIndex++;
+ }
+ index--;
+
algorithmContext.setCurrentEndpointIndex(currentMemberIndex);
if (log.isDebugEnabled()) {
log.debug("Members : " + members.size());
Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/Value.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/Value.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/Value.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/Value.java Mon Dec 19 12:26:15 2011
@@ -19,6 +19,8 @@
package org.apache.synapse.mediators;
+import org.apache.axiom.om.OMContainer;
+import org.apache.axiom.om.OMDocument;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNamespace;
import org.apache.commons.logging.Log;
@@ -155,11 +157,37 @@ public class Value {
}
public void setNamespaces(OMElement elem){
- Iterator namespaces = elem.getNamespacesInScope();
+ OMElement currentElem = elem;
+
+ while (currentElem != null) {
+ Iterator it = currentElem.getAllDeclaredNamespaces();
+ while (it.hasNext()) {
+ OMNamespace n = (OMNamespace) it.next();
+ // Exclude the default namespace as explained in the Javadoc above
+ if (n != null && !"".equals(n.getPrefix())) {
+ namespaceList.add(n);
+ }
+ }
+
+ OMContainer parent = currentElem.getParent();
+ //if the parent is a document element or parent is null ,then return
+ if (parent == null || parent instanceof OMDocument) {
+ return;
+ }
+ if (parent instanceof OMElement) {
+ currentElem = (OMElement) parent;
+ }
+ }
+
+
+ Iterator namespaces = elem.getAllDeclaredNamespaces();
while (namespaces.hasNext()){
OMNamespace ns = (OMNamespace) namespaces.next();
namespaceList.add(ns);
}
+
+
+
}
@Override
Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CacheMediator.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CacheMediator.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CacheMediator.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CacheMediator.java Mon Dec 19 12:26:15 2011
@@ -19,16 +19,13 @@
package org.apache.synapse.mediators.builtin;
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.soap.SOAP11Constants;
-import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axiom.soap.SOAPFactory;
import org.apache.axis2.AxisFault;
-import org.apache.axis2.clustering.ClusteringFault;
import org.apache.axis2.clustering.state.Replicator;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.apache.axis2.saaj.util.IDGenerator;
+import org.apache.axis2.saaj.util.SAAJUtil;
+import org.apache.axis2.clustering.ClusteringFault;
import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.i18n.Messages;
import org.apache.synapse.ManagedLifecycle;
import org.apache.synapse.MessageContext;
import org.apache.synapse.SynapseException;
@@ -40,15 +37,20 @@ import org.apache.synapse.mediators.Abst
import org.apache.synapse.mediators.base.SequenceMediator;
import org.apache.synapse.util.FixedByteArrayOutputStream;
import org.apache.synapse.util.MessageHelper;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.wso2.caching.*;
-import org.wso2.caching.util.SOAPMessageHelper;
+import org.wso2.caching.CacheManager;
+import org.wso2.caching.CachedObject;
+import org.wso2.caching.CachingConstants;
+import org.wso2.caching.CachingException;
import org.wso2.caching.digest.DigestGenerator;
import javax.xml.soap.SOAPException;
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.MimeHeaders;
import javax.xml.stream.XMLStreamException;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.io.ByteArrayInputStream;
/**
* CacheMediator will cache the response messages indexed using the hash value of the
@@ -151,10 +153,10 @@ public class CacheMediator extends Abstr
try {
if (synCtx.isResponse()) {
- processResponseMessage(synCtx, synLog);
+ processResponseMessage(synCtx, cfgCtx, synLog, cacheManager);
} else {
- result = processRequestMessage(synCtx, synLog, cacheManager);
+ result = processRequestMessage(synCtx, cfgCtx, synLog, cacheManager);
}
} catch (ClusteringFault clusteringFault) {
@@ -172,70 +174,66 @@ public class CacheMediator extends Abstr
*
* @param synLog the Synapse log to use
* @param synCtx the current message (response)
+ * @param cfgCtx the abstract context in which the cache will be kept
+ * @param cacheManager the cache manager
* @throws ClusteringFault is there is an error in replicating the cfgCtx
*/
- private void processResponseMessage(MessageContext synCtx,
- SynapseLog synLog) throws ClusteringFault {
+ private void processResponseMessage(MessageContext synCtx, ConfigurationContext cfgCtx,
+ SynapseLog synLog, CacheManager cacheManager) throws ClusteringFault {
if (!collector) {
handleException("Response messages cannot be handled in a non collector cache", synCtx);
}
- org.apache.axis2.context.MessageContext msgCtx =
- ((Axis2MessageContext)synCtx).getAxis2MessageContext();
- OperationContext operationContext = msgCtx.getOperationContext();
-
- CachableResponse response =
- (CachableResponse) operationContext.getPropertyNonReplicable(CachingConstants.CACHED_OBJECT);
- if (response != null) {
+ String requestHash = (String) synCtx.getProperty(CachingConstants.REQUEST_HASH);
+
+ if (requestHash != null) {
if (synLog.isTraceOrDebugEnabled()) {
synLog.traceOrDebug("Storing the response message into the cache at scope : " +
- scope + " with ID : " + cacheKey + " for request hash : " + response.getRequestHash());
- }
- if (synLog.isTraceOrDebugEnabled()) {
- synLog.traceOrDebug("Storing the response for the message with ID : " +
- synCtx.getMessageID() + " with request hash ID : " +
- response.getRequestHash() + " in the cache : " + cacheKey);
+ scope + " with ID : " + cacheKey + " for request hash : " + requestHash);
}
- ByteArrayOutputStream outStream = new ByteArrayOutputStream();
- try {
- synCtx.getEnvelope().serialize(outStream);
- response.setResponseEnvelope(outStream.toByteArray());
- } catch (XMLStreamException e) {
- handleException("Unable to set the response to the Cache", e, synCtx);
- }
+ CachedObject cachedObj = cacheManager.getResponseForKey(cacheKey, requestHash, cfgCtx);
+ if (cachedObj != null) {
- // this is not required yet, can commented this for perf improvements
- // in the future there can be a situation where user sends the request
- // with the response hash (if client side caching is on) in which case
- // we can compare that response hash with the given response hash and
- // respond with not-modified http header */
- // cachedObj.setResponseHash(cache.getGenerator().getDigest(
- // ((Axis2MessageContext) synCtx).getAxis2MessageContext()));
-
- if (response.getTimeout() > 0) {
- response.setExpireTimeMillis(System.currentTimeMillis() + response.getTimeout());
- }
+ if (synLog.isTraceOrDebugEnabled()) {
+ synLog.traceOrDebug("Storing the response for the message with ID : " +
+ synCtx.getMessageID() + " with request hash ID : " +
+ cachedObj.getRequestHash() + " in the cache : " + cacheKey);
+ }
- // Finally, we may need to replicate the changes in the cache
- CacheReplicationCommand cacheReplicationCommand
- = (CacheReplicationCommand) msgCtx.getPropertyNonReplicable(
- CachingConstants.STATE_REPLICATION_OBJECT);
- if (cacheReplicationCommand != null) {
+ ByteArrayOutputStream outStream = new ByteArrayOutputStream();
try {
- Replicator.replicateState(cacheReplicationCommand,
- msgCtx.getRootContext().getAxisConfiguration());
- } catch (ClusteringFault clusteringFault) {
- log.error("Cannot replicate cache changes");
+ MessageHelper.cloneSOAPEnvelope(synCtx.getEnvelope()).serialize(outStream);
+ cachedObj.setResponseEnvelope(outStream.toByteArray());
+ } catch (XMLStreamException e) {
+ handleException("Unable to set the response to the Cache", e, synCtx);
}
+
+ /* this is not required yet, can commented this for perf improvements
+ in the future there can be a situation where user sends the request
+ with the response hash (if client side caching is on) in which case
+ we can compare that response hash with the given response hash and
+ respond with not-modified http header */
+ // cachedObj.setResponseHash(cache.getGenerator().getDigest(
+ // ((Axis2MessageContext) synCtx).getAxis2MessageContext()));
+
+ if (cachedObj.getTimeout() > 0) {
+ cachedObj.setExpireTimeMillis(System.currentTimeMillis() + cachedObj.getTimeout());
+ }
+
+ cfgCtx.setProperty(CachingConstants.CACHE_MANAGER, cacheManager);
+// Replicator.replicate(cfgCtx, new String[]{cacheManagerKey});
+ Replicator.replicate(cfgCtx);
+ } else {
+ synLog.auditWarn("A response message without a valid mapping to the " +
+ "request hash found. Unable to store the response in cache");
}
+
} else {
- synLog.auditWarn("A response message without a valid mapping to the " +
- "request hash found. Unable to store the response in cache");
+ synLog.auditWarn("A response message without a mapping to the " +
+ "request hash found. Unable to store the response in cache");
}
-
-
}
/**
@@ -244,19 +242,18 @@ public class CacheMediator extends Abstr
* this message as a response and sends back directly to client.
*
* @param synCtx incoming request message
+ * @param cfgCtx the AbstractContext in which the cache will be kept
* @param synLog the Synapse log to use
* @param cacheManager the cache manager
* @return should this mediator terminate further processing?
* @throws ClusteringFault if there is an error in replicating the cfgCtx
*/
- private boolean processRequestMessage(MessageContext synCtx,
+ private boolean processRequestMessage(MessageContext synCtx, ConfigurationContext cfgCtx,
SynapseLog synLog, CacheManager cacheManager) throws ClusteringFault {
if (collector) {
handleException("Request messages cannot be handled in a collector cache", synCtx);
}
- OperationContext opCtx = ((Axis2MessageContext)synCtx).getAxis2MessageContext().
- getOperationContext();
String requestHash = null;
try {
@@ -271,49 +268,57 @@ public class CacheMediator extends Abstr
synLog.traceOrDebug("Generated request hash : " + requestHash);
}
- ServiceName service;
- if (id != null) {
- service = new ServiceName(id);
- } else {
- service = new ServiceName(cacheKey);
- }
-
- RequestHash hash = new RequestHash(requestHash);
- CachableResponse cachedResponse =
- cacheManager.getCachedResponse(service, hash);
+ if (cacheManager.containsKey(cacheKey, requestHash) &&
+ cacheManager.getResponseForKey(cacheKey, requestHash, cfgCtx) != null) {
- org.apache.axis2.context.MessageContext msgCtx = ((Axis2MessageContext)synCtx).getAxis2MessageContext();
- opCtx.setNonReplicableProperty(CachingConstants.REQUEST_HASH, requestHash);
- CacheReplicationCommand cacheReplicationCommand = new CacheReplicationCommand();
-
- if (cachedResponse != null) {
// get the response from the cache and attach to the context and change the
// direction of the message
- if (!cachedResponse.isExpired()) {
+ CachedObject cachedObj = cacheManager.getResponseForKey(cacheKey, requestHash, cfgCtx);
+
+ if (!cachedObj.isExpired() && cachedObj.getResponseEnvelope() != null) {
+
if (synLog.isTraceOrDebugEnabled()) {
synLog.traceOrDebug("Cache-hit for message ID : " + synCtx.getMessageID());
}
- cachedResponse.setInUse(true);
+
// mark as a response and replace envelope from cache
synCtx.setResponse(true);
- opCtx.setNonReplicableProperty(CachingConstants.CACHED_OBJECT, cachedResponse);
-
- SOAPEnvelope omSOAPEnv;
try {
- omSOAPEnv = SOAPMessageHelper.buildSOAPEnvelopeFromBytes(
- cachedResponse.getResponseEnvelope());
- if (omSOAPEnv != null) {
+ MessageFactory mf = MessageFactory.newInstance();
+ SOAPMessage smsg;
+ if (synCtx.isSOAP11()) {
+ smsg = mf.createMessage(new MimeHeaders(),
+ new ByteArrayInputStream(cachedObj.getResponseEnvelope()));
+ } else {
+ MimeHeaders mimeHeaders = new MimeHeaders();
+ mimeHeaders.addHeader("Content-ID", IDGenerator.generateID());
+ mimeHeaders.addHeader("content-type",
+ HTTPConstants.MEDIA_TYPE_APPLICATION_SOAP_XML);
+ smsg = mf.createMessage(mimeHeaders,
+ new ByteArrayInputStream((cachedObj).getResponseEnvelope()));
+ }
+
+ if (smsg != null) {
+ org.apache.axiom.soap.SOAPEnvelope omSOAPEnv =
+ SAAJUtil.toOMSOAPEnvelope(
+ smsg.getSOAPPart().getDocumentElement());
synCtx.setEnvelope(omSOAPEnv);
+ } else {
+ handleException("Unable to serve from the cache : " +
+ "Couldn't build the SOAP response from the cached byte stream",
+ synCtx);
}
+
+ // todo: if there is a WSA messageID in the response, is that need to be unique on each and every resp
} catch (AxisFault axisFault) {
handleException("Error setting response envelope from cache : "
- + cacheKey, synCtx);
+ + cacheKey, synCtx);
} catch (IOException ioe) {
handleException("Error setting response envelope from cache : "
- + cacheKey, ioe, synCtx);
+ + cacheKey, ioe, synCtx);
} catch (SOAPException soape) {
handleException("Error setting response envelope from cache : "
- + cacheKey, soape, synCtx);
+ + cacheKey, soape, synCtx);
}
// take specified action on cache hit
@@ -327,7 +332,7 @@ public class CacheMediator extends Abstr
if (synLog.isTraceOrDebugEnabled()) {
synLog.traceOrDebug("Delegating message to the onCachingHit " +
- "sequence : " + onCacheHitRef);
+ "sequence : " + onCacheHitRef);
}
synCtx.getSequence(onCacheHitRef).mediate(synCtx);
@@ -335,7 +340,7 @@ public class CacheMediator extends Abstr
if (synLog.isTraceOrDebugEnabled()) {
synLog.traceOrDebug("Request message " + synCtx.getMessageID() +
- " was served from the cache : " + cacheKey);
+ " was served from the cache : " + cacheKey);
}
// send the response back if there is not onCacheHit is specified
synCtx.setTo(null);
@@ -345,52 +350,54 @@ public class CacheMediator extends Abstr
return false;
} else {
- cachedResponse.reincarnate(timeout);
- if (synLog.isTraceOrDebugEnabled()) {
- synLog.traceOrDebug("Existing cached response has expired. Reset cache element");
- }
- cacheManager.cacheResponse(service, hash, cachedResponse, cacheReplicationCommand);
- opCtx.setNonReplicableProperty(CachingConstants.CACHED_OBJECT, cachedResponse);
- opCtx.setNonReplicableProperty(CachingConstants.STATE_REPLICATION_OBJECT,
- cacheReplicationCommand);
-
- Replicator.replicate(opCtx);
+ // cache exists, but has expired...
+ cachedObj.expire();
+ cachedObj.setTimeout(timeout);
+ synLog.traceOrDebug("Existing cached response has expired. Reset cache element");
+
+ cfgCtx.setProperty(CachingConstants.CACHE_MANAGER, cacheManager);
+// Replicator.replicate(cfgCtx, new String[]{cacheManagerKey});
+ Replicator.replicate(cfgCtx);
}
+
} else {
+
// if not found in cache, check if we can cache this request
- if (cacheManager.getCacheSize(service) >= inMemoryCacheSize) { // If cache is full
- cacheManager.removeExpiredResponses(service, cacheReplicationCommand); // try to remove expired responses
- if (cacheManager.getCacheSize(service) >= inMemoryCacheSize) { // recheck if there is space
- if (log.isDebugEnabled()) {
- log.debug("In-memory cache is full. Unable to cache");
- }
- } else { // if we managed to free up some space in the cache. Need state replication
- cacheNewResponse(msgCtx, service, hash, cacheManager,
- cacheReplicationCommand);
+ if (cacheManager.getCacheKeys(cacheKey).size() == inMemoryCacheSize) {
+ cacheManager.removeExpiredResponses(cacheKey, cfgCtx);
+ if (cacheManager.getCacheKeys(cacheKey).size() == inMemoryCacheSize) {
+ synLog.traceOrDebug("In-memory cache is full. Unable to cache");
+ } else {
+ storeRequestToCache(cfgCtx, requestHash, cacheManager);
}
- } else { // if there is more space in the cache. Need state replication
- cacheNewResponse(msgCtx, service, hash, cacheManager,
- cacheReplicationCommand);
+ } else {
+ storeRequestToCache(cfgCtx, requestHash, cacheManager);
}
}
-
return true;
}
- private void cacheNewResponse(org.apache.axis2.context.MessageContext msgContext,
- ServiceName serviceName, RequestHash requestHash,
- CacheManager cacheManager,
- CacheReplicationCommand cacheReplicationCommand) throws ClusteringFault {
- OperationContext opCtx = msgContext.getOperationContext();
- CachableResponse response = new CachableResponse();
- response.setRequestHash(requestHash.getRequestHash());
- response.setTimeout(timeout);
- cacheManager.cacheResponse(serviceName, requestHash, response, cacheReplicationCommand);
- opCtx.setNonReplicableProperty(CachingConstants.CACHED_OBJECT, response);
- opCtx.setNonReplicableProperty(CachingConstants.STATE_REPLICATION_OBJECT,
- cacheReplicationCommand);
+ /**
+ * Store request message to the cache
+ *
+ * @param cfgCtx - the Abstract context in which the cache will be kept
+ * @param requestHash - the request hash that has already been computed
+ * @param cacheManager - the cache
+ * @throws ClusteringFault if there is an error in replicating the cfgCtx
+ */
+ private void storeRequestToCache(ConfigurationContext cfgCtx,
+ String requestHash, CacheManager cacheManager) throws ClusteringFault {
- Replicator.replicate(opCtx);
+ CachedObject cachedObj = new CachedObject();
+ cachedObj.setRequestHash(requestHash);
+ // this does not set the expiretime but just sets the timeout and the espiretime will
+ // be set when the response is availabel
+ cachedObj.setTimeout(timeout);
+ cacheManager.addResponseWithKey(cacheKey, requestHash, cachedObj, cfgCtx);
+
+ cfgCtx.setProperty(CachingConstants.CACHE_MANAGER, cacheManager);
+// Replicator.replicate(cfgCtx, new String[]{cacheManagerKey});
+ Replicator.replicate(cfgCtx);
}
public String getId() {
@@ -476,15 +483,4 @@ public class CacheMediator extends Abstr
public void setMaxMessageSize(int maxMessageSize) {
this.maxMessageSize = maxMessageSize;
}
-
- public SOAPFactory getSOAPFactory(org.apache.axis2.context.MessageContext msgContext) throws AxisFault {
- String nsURI = msgContext.getEnvelope().getNamespace().getNamespaceURI();
- if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)) {
- return OMAbstractFactory.getSOAP12Factory();
- } else if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsURI)) {
- return OMAbstractFactory.getSOAP11Factory();
- } else {
- throw new AxisFault(Messages.getMessage("invalidSOAPversion"));
- }
- }
}
\ No newline at end of file
Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/AXIOMUtils.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/AXIOMUtils.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/AXIOMUtils.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/AXIOMUtils.java Mon Dec 19 12:26:15 2011
@@ -22,9 +22,10 @@ package org.apache.synapse.util;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
-import org.apache.axiom.om.OMContainer;
+import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNode;
-import org.w3c.dom.Node;
+import org.apache.axiom.om.impl.dom.NodeImpl;
+import org.apache.axiom.om.impl.jaxp.OMSource;
/**
* Utility class with AXIOM helper methods.
@@ -41,10 +42,10 @@ public class AXIOMUtils {
*/
public static Source asSource(OMNode node) {
// Note: Once we depend on JDK 1.6, we could also use StAXSource from JAXP 1.4.
- if (node instanceof Node) {
- return new DOMSource((Node)node);
+ if (node instanceof NodeImpl) {
+ return new DOMSource((NodeImpl)node);
} else {
- return ((OMContainer)node).getSAXSource(true);
+ return new OMSource((OMElement)node);
}
}
}
Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/Replicator.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/Replicator.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/Replicator.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/Replicator.java Mon Dec 19 12:26:15 2011
@@ -104,4 +104,4 @@ public class Replicator {
log.error(msg, e);
throw new SynapseException(msg, e);
}
-}
+}
\ No newline at end of file
Modified: synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/jaxp/AXIOMSourceBuilder.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/jaxp/AXIOMSourceBuilder.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/jaxp/AXIOMSourceBuilder.java (original)
+++ synapse/branches/2.1/modules/core/src/main/java/org/apache/synapse/util/jaxp/AXIOMSourceBuilder.java Mon Dec 19 12:26:15 2011
@@ -19,18 +19,16 @@
package org.apache.synapse.util.jaxp;
-import javax.xml.transform.sax.SAXSource;
-
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.impl.jaxp.OMSource;
/**
* {@link SourceBuilder} implementation that transforms the AXIOM tree to SAX
- * using {@link OMContainer#getSAXSource(boolean)}.
+ * using {@link OMSource}.
*/
public class AXIOMSourceBuilder implements SourceBuilder {
- public SAXSource getSource(OMElement node) {
- return node.getSAXSource(true);
+ public OMSource getSource(OMElement node) {
+ return new OMSource(node);
}
public void release() {
Modified: synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java (original)
+++ synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java Mon Dec 19 12:26:15 2011
@@ -114,7 +114,6 @@ public class ClientWorker implements Run
responseMsgCtx.setOperationContext(outMsgCtx.getOperationContext());
}
- responseMsgCtx.setProperty(MessageContext.IN_MESSAGE_CONTEXT, outMsgCtx);
responseMsgCtx.setServerSide(true);
responseMsgCtx.setDoingREST(outMsgCtx.isDoingREST());
responseMsgCtx.setProperty(MessageContext.TRANSPORT_IN, outMsgCtx
Modified: synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java (original)
+++ synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java Mon Dec 19 12:26:15 2011
@@ -27,8 +27,6 @@ import org.apache.axis2.context.Configur
import org.apache.axis2.description.Parameter;
import org.apache.axis2.description.TransportInDescription;
import org.apache.axis2.transport.TransportListener;
-import org.apache.axis2.transport.base.endpoint.URLEndpointsConfiguration;
-import org.apache.axis2.transport.base.endpoint.config.URLEndpointsConfigurationFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.nio.params.NIOReactorPNames;
@@ -83,9 +81,6 @@ public class ListenerContext {
private HttpParams params = null;
- /** Endpoints configuration for specific HTTP Urls */
- private URLEndpointsConfiguration endpoints = null;
-
public ListenerContext(ConfigurationContext cfgCtx,
TransportInDescription transportIn,
boolean ssl) {
@@ -153,12 +148,6 @@ public class ListenerContext {
}
params = getListenerParameters();
-
-
- param = transportIn.getParameter(NhttpConstants.ENDPOINTS_CONFIGURATION);
- if (param != null && param.getValue() != null) {
- endpoints = new URLEndpointsConfigurationFactory().create(param.getValue().toString());
- }
}
/**
@@ -313,10 +302,6 @@ public class ListenerContext {
return params;
}
- public URLEndpointsConfiguration getEndpoints() {
- return endpoints;
- }
-
private void handleException(String msg, Exception e) throws AxisFault {
log.error(msg, e);
throw new AxisFault(msg, e);
Modified: synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java (original)
+++ synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java Mon Dec 19 12:26:15 2011
@@ -28,10 +28,7 @@ import org.apache.axis2.context.MessageC
import org.apache.axis2.description.Parameter;
import org.apache.axis2.engine.AxisEngine;
import org.apache.axis2.transport.RequestResponseTransport;
-import org.apache.axis2.transport.TransportUtils;
import org.apache.axis2.transport.base.MetricsCollector;
-import org.apache.axis2.transport.base.endpoint.URLEndpoint;
-import org.apache.axis2.transport.base.endpoint.URLEndpointsConfiguration;
import org.apache.axis2.transport.http.HTTPTransportUtils;
import org.apache.axis2.util.MessageContextBuilder;
import org.apache.commons.logging.Log;
@@ -82,8 +79,6 @@ public class ServerWorker implements Run
private boolean isRestDispatching = true;
/** WSDL processor for Get requests */
private HttpGetRequestProcessor httpGetRequestProcessor = null;
-
- private URLEndpointsConfiguration endpointsConfiguration = null;
private static final String SOAPACTION = "SOAPAction";
private static final String LOCATION = "Location";
@@ -128,7 +123,6 @@ public class ServerWorker implements Run
this.msgContext = createMessageContext(request);
this.isRestDispatching = listenerContext.isRestDispatching();
this.httpGetRequestProcessor = listenerContext.getHttpGetRequestProcessor();
- this.endpointsConfiguration = listenerContext.getEndpoints();
}
/**
@@ -418,47 +412,19 @@ public class ServerWorker implements Run
String charSetEncoding = BuilderUtil.getCharSetEncoding(contentTypeStr);
msgContext.setProperty(
Constants.Configuration.CHARACTER_SET_ENCODING, charSetEncoding);
- boolean eprFound = false;
- if (endpointsConfiguration != null) {
- URLEndpoint epr = endpointsConfiguration.getEndpoint(request.getRequestLine().getUri());
- if (epr != null) {
- eprFound = true;
- String type = TransportUtils.getContentType(contentTypeStr, msgContext);
- msgContext.setProperty(Constants.Configuration.MESSAGE_TYPE, type);
- epr.setParameters(msgContext);
-
- Builder builder = epr.getBuilder(type);
- if (HTTPTransportUtils.isRESTRequest(contentTypeStr)) {
- RESTUtil.processPOSTRequest(msgContext, is, os,
- request.getRequestLine().getUri(), contentType, builder, isRestDispatching);
- } else {
-
- Header soapAction = request.getFirstHeader(SOAPACTION);
- HTTPTransportUtils.processHTTPPostRequest(
- msgContext, is,
- os,
- contentTypeStr, builder,
- (soapAction != null ? soapAction.getValue() : null),
- request.getRequestLine().getUri());
- }
- }
- }
- if (!eprFound) {
- if (HTTPTransportUtils.isRESTRequest(contentTypeStr)) {
- RESTUtil.processPOSTRequest(msgContext, is, os,
- request.getRequestLine().getUri(), contentType, isRestDispatching);
- } else {
-
- Header soapAction = request.getFirstHeader(SOAPACTION);
- HTTPTransportUtils.processHTTPPostRequest(
- msgContext, is,
- os,
- contentTypeStr,
- (soapAction != null ? soapAction.getValue() : null),
- request.getRequestLine().getUri());
- }
+ if (HTTPTransportUtils.isRESTRequest(contentTypeStr)) {
+ RESTUtil.processPOSTRequest(msgContext, is, os,
+ request.getRequestLine().getUri(), contentType, isRestDispatching);
+ } else {
+ Header soapAction = request.getFirstHeader(SOAPACTION);
+ HTTPTransportUtils.processHTTPPostRequest(
+ msgContext, is,
+ os,
+ contentTypeStr,
+ (soapAction != null ? soapAction.getValue() : null),
+ request.getRequestLine().getUri());
}
} catch (AxisFault e) {
handleException("Error processing POST request ", e);
@@ -498,40 +464,15 @@ public class ServerWorker implements Run
*/
private void processGetAndDelete(String method) {
try {
- Header contentType = request.getFirstHeader(HTTP.CONTENT_TYPE);
- String contentTypeStr = contentType != null ?
- contentType.getValue() : inferContentType();
-
- boolean eprFound = false;
- if (endpointsConfiguration != null) {
- URLEndpoint epr = endpointsConfiguration.getEndpoint(request.getRequestLine().getUri());
- if (epr != null) {
- eprFound = true;
- String type = TransportUtils.getContentType(contentTypeStr, msgContext);
- msgContext.setProperty(Constants.Configuration.MESSAGE_TYPE, type);
-
- epr.setParameters(msgContext);
-
- Builder builder = epr.getBuilder(type);
- RESTUtil.processGetAndDeleteRequest(
- msgContext, os, request.getRequestLine().getUri(),
- request.getFirstHeader(HTTP.CONTENT_TYPE), builder,
- method, isRestDispatching);
- }
- }
-
- if (!eprFound) {
- RESTUtil.processGetAndDeleteRequest(
- msgContext, os, request.getRequestLine().getUri(),
- request.getFirstHeader(HTTP.CONTENT_TYPE), method, isRestDispatching);
- }
+ RESTUtil.processGetAndDeleteRequest(
+ msgContext, os, request.getRequestLine().getUri(),
+ request.getFirstHeader(HTTP.CONTENT_TYPE), method, isRestDispatching);
// do not let the output stream close (as by default below) since
// we are serving this GET/DELETE request through the Synapse engine
} catch (AxisFault axisFault) {
handleException("Error processing " + method + " request for: " +
request.getRequestLine().getUri(), axisFault);
}
-
}
private void handleException(String msg, Exception e) {
Modified: synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/util/RESTUtil.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/util/RESTUtil.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/util/RESTUtil.java (original)
+++ synapse/branches/2.1/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/util/RESTUtil.java Mon Dec 19 12:26:15 2011
@@ -141,33 +141,7 @@ public class RESTUtil {
contentType);
}
- /**
- * Processes the HTTP GET / DELETE request and builds the SOAP info-set of the REST message
- *
- * @param msgContext The MessageContext of the Request Message
- * @param out The output stream of the response
- * @param requestURI The URL that the request came to
- * @param contentTypeHeader The contentType header of the request
- * @param builder The message builder to use
- * @param httpMethod The http method of the request
- * @param dispatching Weather we should do service dispatching
- * @throws AxisFault - Thrown in case a fault occurs
- */
- public static void processGetAndDeleteRequest(MessageContext msgContext, OutputStream out,
- String requestURI, Header contentTypeHeader,
- Builder builder, String httpMethod,
- boolean dispatching)
- throws AxisFault {
-
- String contentType = contentTypeHeader != null ? contentTypeHeader.getValue() : null;
-
- prepareMessageContext(msgContext, requestURI, httpMethod, out, contentType, dispatching);
-
- msgContext.setProperty(NhttpConstants.NO_ENTITY_BODY, Boolean.TRUE);
- org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(msgContext, out,
- contentType, builder);
- }
/**
* Processes the HTTP GET request and builds the SOAP info-set of the REST message
@@ -218,29 +192,7 @@ public class RESTUtil {
contentType);
}
- /**
- * Processes the HTTP POST request and builds the SOAP info-set of the REST message
- *
- * @param msgContext The MessageContext of the Request Message
- * @param is The input stream of the request
- * @param os The output stream of the response
- * @param requestURI The URL that the request came to
- * @param contentTypeHeader The contentType header of the request
- * @param builder The message builder to use
- * @param dispatching Weather we should do dispatching
- * @throws AxisFault - Thrown in case a fault occurs
- */
- public static void processPOSTRequest(MessageContext msgContext, InputStream is,
- OutputStream os, String requestURI,
- Header contentTypeHeader, Builder builder,
- boolean dispatching) throws AxisFault {
- String contentType = contentTypeHeader != null ? contentTypeHeader.getValue() : null;
- prepareMessageContext(msgContext, requestURI, HTTPConstants.HTTP_METHOD_POST,
- os, contentType, dispatching);
- org.apache.axis2.transport.http.util.RESTUtil.processXMLRequest(msgContext, is, os,
- contentType, builder);
- }
/**
* prepare message context prior to call axis2 RestUtils
Modified: synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java (original)
+++ synapse/branches/2.1/modules/transports/core/nhttp/src/test/java/org/apache/synapse/transport/nhttp/HttpCoreNIOListenerTest.java Mon Dec 19 12:26:15 2011
@@ -23,6 +23,7 @@ import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.axis2.transport.testkit.ManagedTestSuite;
+import org.apache.axis2.transport.testkit.axis2.SimpleTransportDescriptionFactory;
import org.apache.axis2.transport.testkit.axis2.TransportDescriptionFactory;
import org.apache.axis2.transport.testkit.http.HttpTransportTestSuiteBuilder;
@@ -33,8 +34,9 @@ public class HttpCoreNIOListenerTest ext
// These tests don't work because of a problem similar to SYNAPSE-418
suite.addExclude("(test=EchoXML)");
- TransportDescriptionFactory tdfNIO = new HttpTransportDescriptionFactory();
-
+ TransportDescriptionFactory tdfNIO =
+ new SimpleTransportDescriptionFactory("http", HttpCoreNIOListener.class,
+ HttpCoreNIOSender.class);
HttpTransportTestSuiteBuilder builder = new HttpTransportTestSuiteBuilder(suite, tdfNIO);
builder.addAxisTestClientConfigurator(new HttpAxisTestClientConfigurator(false));
Modified: synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpoint.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpoint.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpoint.java (original)
+++ synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpoint.java Mon Dec 19 12:26:15 2011
@@ -57,8 +57,8 @@ public class PipeEndpoint extends Datagr
}
@Override
- public EndpointReference[] getEndpointReferences(AxisService service, String ip) {
+ public EndpointReference[] getEndpointReferences(String ip) {
return new EndpointReference[] { new EndpointReference("pipe://" + pipe.getAbsolutePath()
+ "?contentType=" + getContentType()) };
}
-}
+}
\ No newline at end of file
Modified: synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpointListener.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpointListener.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpointListener.java (original)
+++ synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeEndpointListener.java Mon Dec 19 12:26:15 2011
@@ -104,7 +104,7 @@ public class PipeEndpointListener implem
readBuffer.rewind();
}
byte[] message = decoder.getNext();
- callback.receive(endpoint, message, message.length, null);
+ callback.receive(endpoint, message, message.length);
}
}
}
Modified: synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeListener.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeListener.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeListener.java (original)
+++ synapse/branches/2.1/modules/transports/core/pipe/src/main/java/org/apache/synapse/transport/pipe/PipeListener.java Mon Dec 19 12:26:15 2011
@@ -26,6 +26,8 @@ import org.apache.axis2.transport.base.M
import org.apache.axis2.transport.base.ParamUtils;
import org.apache.axis2.transport.base.datagram.AbstractDatagramTransportListener;
import org.apache.axis2.transport.base.datagram.DatagramDispatcherCallback;
+import org.apache.axis2.context.ConfigurationContext;
+
/**
* Transport listener for UNIX pipes.
@@ -53,10 +55,10 @@ import org.apache.axis2.transport.base.d
*/
public class PipeListener extends AbstractDatagramTransportListener<PipeEndpoint> implements ManagementSupport {
private Protocol protocol;
-
+
@Override
- protected void doInit() throws AxisFault {
- TransportInDescription transportIn = getTransportInDescription();
+ public void init(ConfigurationContext cfgCtx, TransportInDescription transportIn) throws AxisFault {
+ super.init(cfgCtx, transportIn);
String protocolClassName = ParamUtils.getRequiredParam(transportIn, "protocol");
Class<? extends Protocol> protocolClass;
try {
@@ -87,4 +89,4 @@ public class PipeListener extends Abstra
endpoint.setProtocol(protocol);
return endpoint;
}
-}
+}
\ No newline at end of file
Modified: synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/PollTableEntry.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/PollTableEntry.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/PollTableEntry.java (original)
+++ synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/PollTableEntry.java Mon Dec 19 12:26:15 2011
@@ -20,7 +20,6 @@ package org.apache.synapse.transport.vfs
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.ParameterInclude;
import org.apache.axis2.transport.base.AbstractPollTableEntry;
import org.apache.axis2.transport.base.ParamUtils;
@@ -103,11 +102,12 @@ public class PollTableEntry extends Abst
return failedRecordTimestampFormat;
}
- @Override
- public EndpointReference[] getEndpointReferences(AxisService service, String ip) {
+ @Override
+ public EndpointReference[] getEndpointReferences(String ip) {
return new EndpointReference[] { new EndpointReference("vfs:" + fileURI) };
}
+
public String getFileURI() {
return fileURI;
}
Modified: synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java (original)
+++ synapse/branches/2.1/modules/transports/core/vfs/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java Mon Dec 19 12:26:15 2011
@@ -24,7 +24,9 @@ import org.apache.axis2.Constants;
import org.apache.axis2.builder.Builder;
import org.apache.axis2.builder.BuilderUtil;
import org.apache.axis2.builder.SOAPBuilder;
+import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.TransportInDescription;
import org.apache.axis2.description.Parameter;
import org.apache.axis2.format.DataSourceMessageBuilder;
import org.apache.axis2.format.ManagedDataSource;
@@ -128,15 +130,15 @@ public class VFSTransportListener extend
private volatile int removeTaskState = STATE_STOPPED;
@Override
- protected void doInit() throws AxisFault {
- super.doInit();
+ public void init(ConfigurationContext cfgCtx, TransportInDescription trpInDesc)
+ throws AxisFault {
+ super.init(cfgCtx, trpInDesc);
try {
StandardFileSystemManager fsm = new StandardFileSystemManager();
fsm.setConfiguration(getClass().getClassLoader().getResource("providers.xml"));
fsm.init();
- this.workerPool = super.workerPool;
fsManager = fsm;
- Parameter lockFlagParam = getTransportInDescription().getParameter(VFSConstants.TRANSPORT_FILE_LOCKING);
+ Parameter lockFlagParam = trpInDesc.getParameter(VFSConstants.TRANSPORT_FILE_LOCKING);
if (lockFlagParam != null) {
String strLockingFlag = lockFlagParam.getValue().toString();
// by-default enabled, if explicitly specified as "disable" make it disable
Modified: synapse/branches/2.1/pom.xml
URL: http://svn.apache.org/viewvc/synapse/branches/2.1/pom.xml?rev=1220710&r1=1220709&r2=1220710&view=diff
==============================================================================
--- synapse/branches/2.1/pom.xml (original)
+++ synapse/branches/2.1/pom.xml Mon Dec 19 12:26:15 2011
@@ -824,9 +824,9 @@
<jms-1.1-spec.version>1.1</jms-1.1-spec.version>
<!-- Axis2 and its dependencies -->
- <axis2.version>1.7.0-SNAPSHOT</axis2.version>
- <axis2.transport.version>1.7.0-SNAPSHOT</axis2.transport.version>
- <axiom.version>1.2.13-SNAPSHOT</axiom.version>
+ <axis2.version>1.6.1</axis2.version>
+ <axis2.transport.version>1.0.0</axis2.transport.version>
+ <axiom.version>1.2.12</axiom.version>
<xml_schema.version>1.4.7</xml_schema.version>
<xml_apis.version>1.3.04</xml_apis.version>
<wsdl4j.version>1.6.2</wsdl4j.version>
@@ -836,7 +836,7 @@
<!-- addressing, rampart -->
<addressing.version>${axis2.version}</addressing.version>
<rampart.version>1.6.1</rampart.version>
- <sandesha2.version>1.7.0-SNAPSHOT</sandesha2.version>
+ <sandesha2.version>1.6.1</sandesha2.version>
<wss4j.version>1.5.12</wss4j.version>
<jruby.version>1.3.0</jruby.version>
<xmlsec.version>1.4.5</xmlsec.version>
@@ -871,9 +871,9 @@
<!-- dependencies of Synapse extensions module -->
<wso2commons.version>1.2</wso2commons.version>
- <wso2caching.version>3.5.0</wso2caching.version>
- <wso2throttle.version>SNAPSHOT</wso2throttle.version>
- <wso2eventing-api.version>SNAPSHOT</wso2eventing-api.version>
+ <wso2caching.version>3.4.0</wso2caching.version>
+ <wso2throttle.version>3.2.0</wso2throttle.version>
+ <wso2eventing-api.version>2.1</wso2eventing-api.version>
<xbean.version>2.2.0</xbean.version>
<bsf.version>3.0</bsf.version>
<groovy.version>1.1-rc-1</groovy.version>