You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ch...@apache.org on 2006/10/13 13:59:04 UTC
svn commit: r463656 - in
/webservices/sandesha/trunk/java/src/org/apache/sandesha2: ./ i18n/
msgprocessors/ polling/ util/
Author: chamikara
Date: Fri Oct 13 04:59:02 2006
New Revision: 463656
URL: http://svn.apache.org/viewvc?view=rev&rev=463656
Log:
Some corrections to the SequencePropertyKey selection logic.
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java Fri Oct 13 04:59:02 2006
@@ -548,9 +548,10 @@
};
public interface MessageContextProperties{
- public String INTERNAL_SEQUENCE_ID = "Sandesha2InternalSequenceId";
+ String INTERNAL_SEQUENCE_ID = "Sandesha2InternalSequenceId";
String SEQUENCE_ID = "WSRMSequenceId";
String MESSAGE_NUMBER = "WSRMMessageNumber";
+ String SEQUENCE_PROPERTY_KEY = "SequencePropertyKey";
}
public interface Assertions {
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java Fri Oct 13 04:59:02 2006
@@ -43,6 +43,7 @@
public static final String transportOutNotPresent="transportOutNotPresent";
public static final String storedKeyNotPresent="storedKeyNotPresent";
public static final String invalidQName="invalidQName";
+ public static final String couldNotFindPropertyKey="couldNotFindPropertyKey";
public static final String dummyCallback="dummyCallback";
public static final String cannotFindSequenceID="cannotFindSequenceID";
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties Fri Oct 13 04:59:02 2006
@@ -64,7 +64,7 @@
workAlreadyAssigned=Work ''{0}'' is already assigned to a different Worker. Will try the next one
workNotPresent="SenderWorker has been assigned an unexisting work with the Id ''{0}''
cannotSendToTheAddress=Message cannot be sent to the address ''{0}''
-
+couldNotFindPropertyKey=Could not determine the PropertyKey of the {0} message from the available information
dummyCallback=Sandesha2 Internal Error: dummy callback was called but this should never happen.
dummyCallbackError=Sandesha2 Internal Error: dummy callback received an error but this should never happen.
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java Fri Oct 13 04:59:02 2006
@@ -748,11 +748,12 @@
} else {
if (acksToEPR.getAddress() == null){
EndpointReference replyToEPR = msgContext.getReplyTo();
- if(Boolean.getBoolean((String)operationContext.getProperty(SandeshaClientConstants.USE_REPLY_TO_AS_ACKS_TO))
- && replyToEPR!=null && !replyToEPR.getAddress().equals("")){
+
+ if(replyToEPR!=null && !replyToEPR.getAddress().equals("")){
//use the replyTo address as acksTo
if (log.isDebugEnabled())
log.debug("Using replyTo " + replyToEPR + " EPR as AcksTo, addr=" + acksToEPR.getAddress());
+
acksToEPR = replyToEPR;
}
else{
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Fri Oct 13 04:59:02 2006
@@ -417,6 +417,12 @@
if (transportTo != null) {
rmMsgCtx.setProperty(MessageContextConstants.TRANSPORT_URL, transportTo);
}
+
+
+ //setting msg context properties
+ rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_ID, outSequenceID);
+ rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID, internalSeqenceID);
+ rmMsgCtx.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_PROPERTY_KEY , sequenceKey);
try {
rmMsgCtx.addSOAPEnvelope();
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java Fri Oct 13 04:59:02 2006
@@ -129,6 +129,10 @@
makeConnectionRMMessage.setProperty(MessageContext.TRANSPORT_IN,null);
//storing the MakeConnection message.
String makeConnectionMsgStoreKey = SandeshaUtil.getUUID();
+
+ makeConnectionRMMessage.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_PROPERTY_KEY,
+ sequencePropertyKey);
+
storageManager.storeMessageContext(makeConnectionMsgStoreKey,makeConnectionRMMessage.getMessageContext());
//add an entry for the MakeConnection message to the sender (with ,send=true, resend=false)
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java Fri Oct 13 04:59:02 2006
@@ -305,6 +305,10 @@
return "CloseSequenceResponse";
case Sandesha2Constants.MessageTypes.TERMINATE_SEQ_RESPONSE:
return "TerminateSequenceResponse";
+ case Sandesha2Constants.MessageTypes.FAULT_MSG:
+ return "Fault";
+ case Sandesha2Constants.MessageTypes.MAKE_CONNECTION_MSG:
+ return "MakeConnection";
case Sandesha2Constants.MessageTypes.UNKNOWN:
return "Unknown";
default:
@@ -1003,16 +1007,22 @@
*/
public static String getSequencePropertyKey (RMMsgContext rmMsgContext) throws AxisFault {
+ String propertyKey = (String) rmMsgContext.getProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_PROPERTY_KEY);
+ if (propertyKey!=null)
+ return propertyKey;
+
String sequenceId = (String) rmMsgContext.getProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_ID);
String internalSequenceId = (String) rmMsgContext.getProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID);
- String propertyKey = null;
+
int type = rmMsgContext.getMessageType();
int flow = rmMsgContext.getMessageContext().getFLOW();
if (flow==MessageContext.OUT_FLOW) {
- if (type==Sandesha2Constants.MessageTypes.UNKNOWN)
+ if (isSequenceResponseMessageType(type))
+ propertyKey = sequenceId;
+ else
propertyKey = internalSequenceId;
} else if (flow==MessageContext.IN_FLOW) {
if (isSequenceResponseMessageType(type))
@@ -1024,6 +1034,12 @@
}
//TODO handler cases not covered from above.
+
+ if (propertyKey==null) {
+ String typeStr = SandeshaUtil.getMessageTypeString(rmMsgContext.getMessageType());
+ String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.couldNotFindPropertyKey,typeStr);
+ throw new SandeshaException (message);
+ }
return propertyKey;
}
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java?view=diff&rev=463656&r1=463655&r2=463656
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java Fri Oct 13 04:59:02 2006
@@ -460,6 +460,9 @@
terminateRMMessage.setProperty(Sandesha2Constants.SET_SEND_TO_TRUE, Sandesha2Constants.VALUE_TRUE);
+ //the propertyKey of the ackMessage will be the propertyKey for the terminate message as well.
+ terminateRMMessage.setProperty(Sandesha2Constants.MessageContextProperties.SEQUENCE_PROPERTY_KEY, sequencePropertyKey);
+
// / addTerminateSeqTransaction.commit();
SandeshaUtil.executeAndStore(terminateRMMessage, key);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org