You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ml...@apache.org on 2006/11/23 17:02:47 UTC
svn commit: r478606 - in
/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors:
CreateSeqMsgProcessor.java CreateSeqResponseMsgProcessor.java
SequenceProcessor.java
Author: mlovett
Date: Thu Nov 23 08:02:42 2006
New Revision: 478606
URL: http://svn.apache.org/viewvc?view=rev&rev=478606
Log:
Fix a bottleneck in the locking, see SANDESHA2-49
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java?view=diff&rev=478606&r1=478605&r2=478606
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java Thu Nov 23 08:02:42 2006
@@ -17,14 +17,11 @@
package org.apache.sandesha2.msgprocessors;
+import java.util.ArrayList;
import java.util.Collection;
-import java.util.Map;
-
-import javax.xml.namespace.QName;
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
@@ -226,6 +223,27 @@
log.debug(message);
throw new AxisFault(message);
}
+
+ // Add this sequence to the list of inbound sequences
+ SequencePropertyBean incomingSequenceListBean = seqPropMgr.retrieve(
+ Sandesha2Constants.SequenceProperties.ALL_SEQUENCES,
+ Sandesha2Constants.SequenceProperties.INCOMING_SEQUENCE_LIST);
+
+ if (incomingSequenceListBean == null) {
+ incomingSequenceListBean = new SequencePropertyBean();
+ incomingSequenceListBean.setSequencePropertyKey(Sandesha2Constants.SequenceProperties.ALL_SEQUENCES);
+ incomingSequenceListBean.setName(Sandesha2Constants.SequenceProperties.INCOMING_SEQUENCE_LIST);
+ incomingSequenceListBean.setValue(null);
+
+ // this get inserted before
+ seqPropMgr.insert(incomingSequenceListBean);
+ }
+
+ ArrayList incomingSequenceList = SandeshaUtil.getArrayListFromString(incomingSequenceListBean.getValue());
+ incomingSequenceList.add(newSequenceId);
+ incomingSequenceListBean.setValue(incomingSequenceList.toString());
+ seqPropMgr.update(incomingSequenceListBean);
+
//TODO add createSequenceResponse message as the referenceMessage to the NextMsgBean.
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java?view=diff&rev=478606&r1=478605&r2=478606
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java Thu Nov 23 08:02:42 2006
@@ -17,6 +17,7 @@
package org.apache.sandesha2.msgprocessors;
+import java.util.ArrayList;
import java.util.Iterator;
import org.apache.axiom.om.OMElement;
@@ -168,7 +169,7 @@
}
String offeredSequenceId = (String) offeredSequenceBean.getValue();
-
+
EndpointReference acksToEPR = accept.getAcksTo().getEPR();
SequencePropertyBean acksToBean = new SequencePropertyBean();
acksToBean.setName(Sandesha2Constants.SequenceProperties.ACKS_TO_EPR);
@@ -245,6 +246,26 @@
Sandesha2Constants.SequenceProperties.SECURITY_TOKEN, tokenData);
sequencePropMgr.insert(newToken);
}
+
+ // Add the offered sequence into the inbound sequences list
+ SequencePropertyBean incomingSequenceListBean = sequencePropMgr.retrieve(
+ Sandesha2Constants.SequenceProperties.ALL_SEQUENCES,
+ Sandesha2Constants.SequenceProperties.INCOMING_SEQUENCE_LIST);
+
+ if (incomingSequenceListBean == null) {
+ incomingSequenceListBean = new SequencePropertyBean();
+ incomingSequenceListBean.setSequencePropertyKey(Sandesha2Constants.SequenceProperties.ALL_SEQUENCES);
+ incomingSequenceListBean.setName(Sandesha2Constants.SequenceProperties.INCOMING_SEQUENCE_LIST);
+ incomingSequenceListBean.setValue(null);
+
+ // this get inserted before
+ sequencePropMgr.insert(incomingSequenceListBean);
+ }
+
+ ArrayList incomingSequenceList = SandeshaUtil.getArrayListFromString(incomingSequenceListBean.getValue());
+ incomingSequenceList.add(offeredSequenceId);
+ incomingSequenceListBean.setValue(incomingSequenceList.toString());
+ sequencePropMgr.update(incomingSequenceListBean);
}
SenderBean target = new SenderBean();
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java?view=diff&rev=478606&r1=478605&r2=478606
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java Thu Nov 23 08:02:42 2006
@@ -261,32 +261,6 @@
if (inOrderInvocation && !msgNoPresentInList) {
- SequencePropertyBean incomingSequenceListBean = seqPropMgr.retrieve(
- Sandesha2Constants.SequenceProperties.ALL_SEQUENCES,
- Sandesha2Constants.SequenceProperties.INCOMING_SEQUENCE_LIST);
-
- if (incomingSequenceListBean == null) {
- ArrayList incomingSequenceList = new ArrayList();
- incomingSequenceListBean = new SequencePropertyBean();
- incomingSequenceListBean.setSequencePropertyKey(Sandesha2Constants.SequenceProperties.ALL_SEQUENCES);
- incomingSequenceListBean.setName(Sandesha2Constants.SequenceProperties.INCOMING_SEQUENCE_LIST);
- incomingSequenceListBean.setValue(incomingSequenceList.toString());
-
- // this get inserted before
- seqPropMgr.insert(incomingSequenceListBean);
- }
-
- ArrayList incomingSequenceList = SandeshaUtil.getArrayListFromString(incomingSequenceListBean.getValue());
-
- // Adding current sequence to the incoming sequence List.
- if (!incomingSequenceList.contains(sequenceId)) {
- incomingSequenceList.add(sequenceId);
-
- // saving the property.
- incomingSequenceListBean.setValue(incomingSequenceList.toString());
- seqPropMgr.update(incomingSequenceListBean);
- }
-
// saving the message.
try {
storageManager.storeMessageContext(key, rmMsgCtx.getMessageContext());
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org