Author: davidillsley
Date: Mon May 12 09:52:34 2008
New Revision: 655557
URL: http://svn.apache.org/viewvc?rev=655557&view=rev
Log:
Performance: Include MessageOut in retransmittable phases to prevent WS-A
headers from being copied.
Thanks to Sara Mitchell for help with this patch
Modified:
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SandeshaUtil.java
Modified:
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SandeshaUtil.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SandeshaUtil.java?rev=655557&r1=655556&r2=655557&view=diff
==============================================================================
---
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SandeshaUtil.java
(original)
+++
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SandeshaUtil.java
Mon May 12 09:52:34 2008
@@ -977,34 +977,20 @@
return; //This message is aimed to be stored only if,
Sandesha2TransportOutDescription is set.
ArrayList executionChain = message.getExecutionChain();
- ArrayList retransmittablePhaseNames =
getRetransmittablePhaseNameList();
ArrayList retransmittablePhases = new ArrayList ();
- for (Iterator it=executionChain.iterator();it.hasNext();) {
- Handler handler = (Handler) it.next();
-
- if
(retransmittablePhaseNames.contains(handler.getName())) {
+ int executionChainLength = executionChain.size();
+ for(int i=0;i<executionChainLength;i++){
+ Handler handler = (Handler)executionChain.get(i);
+
if("Security".equals(handler.getName())||"MessageOut".equals(handler.getName())){
retransmittablePhases.add(handler);
-
- it.remove();
+ executionChain.remove(i);
+ executionChainLength=executionChain.size();
}
}
-
message.setProperty(Sandesha2Constants.RETRANSMITTABLE_PHASES,
retransmittablePhases);
}
- private static ArrayList getRetransmittablePhaseNameList () {
-
- //TODO get this phase list from a property
-
- String security = "Security";
-
- ArrayList phases = new ArrayList ();
- phases.add(security);
-
- return phases;
- }
-
/**
* Clone the MessageContext
* @param oldMsg
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]