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 ch...@apache.org on 2006/05/14 20:34:50 UTC
svn commit: r406396 [1/2] - in
/webservices/sandesha/trunk/src/org/apache/sandesha2: ./ client/ handlers/
msgprocessors/ policy/ policy/processors/ transport/ util/ workers/
Author: chamikara
Date: Sun May 14 11:34:48 2006
New Revision: 406396
URL: http://svn.apache.org/viewcvs?rev=406396&view=rev
Log:
Changed policy configuration to have two storageManagers. One for permanent storage
and other for inMemory storage.
User can set choose the storage manager by a global property set in the axis2.xml.
Modified:
webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java
webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java
webservices/sandesha/trunk/src/org/apache/sandesha2/client/SandeshaClient.java
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
webservices/sandesha/trunk/src/org/apache/sandesha2/policy/PolicyEngineData.java
webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicy.java
webservices/sandesha/trunk/src/org/apache/sandesha2/policy/processors/StorageManagersProcessor.java
webservices/sandesha/trunk/src/org/apache/sandesha2/transport/Sandesha2TransportSender.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/AcknowledgementManager.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/MsgInitializer.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/PropertyManager.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/RMMsgCreator.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaPropertyBean.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/SandeshaUtil.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/TerminateManager.java
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java Sun May 14 11:34:48 2006
@@ -379,7 +379,11 @@
String InactivityTimeoutMeasure = "InactivityTimeoutMeasure";
- String StorageManager = "StorageManager";
+// String StorageManager = "StorageManager";
+
+ String InMemoryStorageManager = "InMemoryStorageManager";
+
+ String PermanentStorageManager = "PermanentStorageManager";
String InOrderInvocation = "InvokeInOrder";
@@ -399,8 +403,12 @@
String InactivityTimeoutMeasure = "seconds"; //this can be - seconds,minutes,hours,days
- String StorageManager = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
+// String StorageManager = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
+ String InMemoryStorageManager = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
+
+ String PermanentStorageManager = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
+
boolean InvokeInOrder = true;
String MessageTypesToDrop=VALUE_NONE;
@@ -473,12 +481,18 @@
String LIST_PART_SEPERATOR = "-";
- String STORAGE_MANAGER = "StorageManager";
+ String INMEMORY_STORAGE_MANAGER = "inmemory";
+
+ String PERMANENT_STORAGE_MANAGER = "permanent";
+
+ String DEFAULT_STORAGE_MANAGER = INMEMORY_STORAGE_MANAGER;
String SENDER = "Sender";
String INVOKER = "Invoker";
String WITHIN_TRANSACTION = "WithinTransaction";
+
+ String STORAGE_MANAGER_PARAMETER = "Sandesha2StorageManager";
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java Sun May 14 11:34:48 2006
@@ -57,9 +57,14 @@
parameter.setValue(propertyBean);
configContext.getAxisConfiguration().addParameter(parameter);;
- configContext.setProperty(Sandesha2Constants.STORAGE_MANAGER,null); // this must be resetted by the module settings.
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
- storageManager.initStorage(module);
+ configContext.setProperty(Sandesha2Constants.INMEMORY_STORAGE_MANAGER,null); // this must be resetted by the module settings.
+ configContext.setProperty(Sandesha2Constants.PERMANENT_STORAGE_MANAGER,null);
+
+ StorageManager inMemorytorageManager = SandeshaUtil.getInMemoryStorageManager(configContext);
+ StorageManager permanentStorageManager = SandeshaUtil.getPermanentStorageManager(configContext);
+
+ inMemorytorageManager.initStorage(module);
+ permanentStorageManager.initStorage(module);
}
public void engageNotify(AxisDescription axisDescription) throws AxisFault {
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/client/SandeshaClient.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/client/SandeshaClient.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/client/SandeshaClient.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/client/SandeshaClient.java Sun May 14 11:34:48 2006
@@ -112,7 +112,7 @@
SequenceReport sequenceReport = new SequenceReport();
sequenceReport.setSequenceDirection(SequenceReport.SEQUENCE_DIRECTION_OUT);
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
CreateSeqBeanMgr createSeqMgr = storageManager.getCreateSeqBeanMgr();
@@ -234,7 +234,7 @@
*/
public static SandeshaReport getSandeshaReport(ConfigurationContext configurationContext) throws SandeshaException {
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
SandeshaReport sandeshaReport = new SandeshaReport();
SequencePropertyBean internalSequenceFindBean = new SequencePropertyBean();
@@ -555,7 +555,7 @@
+ " cannot get sequenceID");
}
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
SequencePropertyBean sequenceIDBean = seqPropMgr.retrieve(internalSequenceID,
@@ -683,7 +683,7 @@
if (sequenceReport.getSequenceStatus() != SequenceReport.SEQUENCE_STATUS_ESTABLISHED)
throw new SandeshaException("Canot close the sequence since it is not active");
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
SequencePropertyBean sequenceIDBean = seqPropMgr.retrieve(internalSequenceID,
Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID);
@@ -877,7 +877,7 @@
private static SequenceReport getIncomingSequenceReport(String sequenceID, ConfigurationContext configCtx)
throws SandeshaException {
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx,configCtx.getAxisConfiguration());
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
String withinTransactionStr = (String) configCtx.getProperty(Sandesha2Constants.WITHIN_TRANSACTION);
@@ -950,7 +950,7 @@
if (sequenceReport.getSequenceStatus() != SequenceReport.SEQUENCE_STATUS_ESTABLISHED)
throw new SandeshaException("Canot terminate the sequence since it is not active");
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
SequencePropertyBean sequenceIDBean = seqPropMgr.retrieve(internalSequenceID,
Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID);
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java Sun May 14 11:34:48 2006
@@ -32,6 +32,7 @@
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.OperationContext;
import org.apache.axis2.context.OperationContextFactory;
+import org.apache.axis2.description.AxisService;
import org.apache.axis2.handlers.AbstractHandler;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -69,8 +70,20 @@
SOAPEnvelope envelope = msgContext.getEnvelope();
if (envelope == null)
throw new SandeshaException("SOAP envelope is not set");
-
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
+
+ StorageManager storageManager = null;
+ try {
+ storageManager = SandeshaUtil.getSandeshaStorageManager(configContext,configContext.getAxisConfiguration());
+ if (storageManager==null) {
+ //TODO make this a log
+ System.out.println ("Sandesha2 cannot proceed. The StorageManager is not available");
+ return;
+ }
+ } catch (SandeshaException e1) {
+ //TODO make this a log
+ System.out.println ("Sandesha2 cannot proceed. Exception thrown when looking for the StorageManager");
+ return;
+ }
boolean withinTransaction = false;
String withinTransactionStr = (String) msgContext.getProperty(Sandesha2Constants.WITHIN_TRANSACTION);
@@ -144,9 +157,9 @@
RMMsgContext rmMessageContext = MsgInitializer.initializeMessage(msgContext);
// Dropping duplicates
- boolean dropped = dropIfDuplicate(rmMessageContext);
+ boolean dropped = dropIfDuplicate(rmMessageContext,storageManager);
if (dropped) {
- processDroppedMessage(rmMessageContext);
+ processDroppedMessage(rmMessageContext,storageManager);
return;
}
@@ -182,7 +195,7 @@
}
}
- private boolean dropIfDuplicate(RMMsgContext rmMsgContext) throws SandeshaException {
+ private boolean dropIfDuplicate(RMMsgContext rmMsgContext,StorageManager storageManager) throws SandeshaException {
boolean drop = false;
@@ -198,8 +211,6 @@
long msgNo = sequence.getMessageNumber().getMessageNumber();
if (sequenceId != null && msgNo > 0) {
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(rmMsgContext.getMessageContext()
- .getConfigurationContext());
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
SequencePropertyBean receivedMsgsBean = seqPropMgr.retrieve(sequenceId,
Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
@@ -249,7 +260,7 @@
seqPropMgr.update(receivedMsgsBean);
ApplicationMsgProcessor ackProcessor = new ApplicationMsgProcessor();
- ackProcessor.sendAckIfNeeded(rmMsgContext, receivedMsgStr);
+ ackProcessor.sendAckIfNeeded(rmMsgContext, receivedMsgStr,storageManager);
}
}
@@ -289,7 +300,7 @@
return false;
}
- private void processDroppedMessage(RMMsgContext rmMsgContext) throws SandeshaException {
+ private void processDroppedMessage(RMMsgContext rmMsgContext, StorageManager storageManager) throws SandeshaException {
if (rmMsgContext.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
Sequence sequence = (Sequence) rmMsgContext.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
String sequenceId = null;
@@ -298,8 +309,6 @@
sequenceId = sequence.getIdentifier().getIdentifier();
}
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(rmMsgContext.getMessageContext()
- .getConfigurationContext());
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
SequencePropertyBean receivedMsgsBean = seqPropMgr.retrieve(sequenceId,
Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
@@ -308,7 +317,7 @@
ApplicationMsgProcessor ackProcessor = new ApplicationMsgProcessor();
// Even though the duplicate message is dropped, hv to send the ack
// if needed.
- ackProcessor.sendAckIfNeeded(rmMsgContext, receivedMsgStr);
+ ackProcessor.sendAckIfNeeded(rmMsgContext, receivedMsgStr,storageManager);
}
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java Sun May 14 11:34:48 2006
@@ -64,7 +64,7 @@
if (null != DONE && "true".equals(DONE))
return;
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
boolean withinTransaction = false;
String withinTransactionStr = (String) msgCtx.getProperty(Sandesha2Constants.WITHIN_TRANSACTION);
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java Sun May 14 11:34:48 2006
@@ -30,6 +30,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.sandesha2.RMMsgContext;
import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.client.SandeshaClientConstants;
import org.apache.sandesha2.msgprocessors.ApplicationMsgProcessor;
import org.apache.sandesha2.msgprocessors.MsgProcessor;
@@ -71,8 +72,7 @@
return;
msgCtx.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, "true");
-
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
boolean withinTransaction = false;
String withinTransactionStr = (String) msgCtx.getProperty(Sandesha2Constants.WITHIN_TRANSACTION);
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java Sun May 14 11:34:48 2006
@@ -32,6 +32,7 @@
import org.apache.axis2.context.OperationContext;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisOperationFactory;
+import org.apache.axis2.description.AxisService;
import org.apache.axis2.engine.AxisEngine;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -78,7 +79,7 @@
ConfigurationContext configurationContext = rmMsgCtx.getMessageContext().getConfigurationContext();
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
@@ -134,12 +135,12 @@
ackMsgCtx.setTo(acksTo);
ackMsgCtx.setReplyTo(msgContext.getTo());
- RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceID);
+ RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceID,storageManager);
ackRMMsgCtx.getMessageContext().setServerSide(true);
ackMsgCtx.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,
msgContext.getProperty(AddressingConstants.WS_ADDRESSING_VERSION)); //TODO do this in the RMMsgCreator
- String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,configurationContext);
+ String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
if (anonymousURI.equals(acksTo.getAddress())) {
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java Sun May 14 11:34:48 2006
@@ -24,6 +24,7 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisService;
import org.apache.axis2.engine.AxisEngine;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -64,11 +65,11 @@
throw new SandeshaException(message);
}
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(rmMsgCtx.getMessageContext().getConfigurationContext());
-
MessageContext msgCtx = rmMsgCtx.getMessageContext();
ConfigurationContext configCtx = msgCtx.getConfigurationContext();
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx,configCtx.getAxisConfiguration());
+
//setting mustUnderstand to false.
sequenceAck.setMustUnderstand(false);
rmMsgCtx.addSOAPEnvelope();
@@ -91,7 +92,7 @@
}
FaultManager faultManager = new FaultManager();
- RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,outSequenceId);
+ RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,outSequenceId,storageManager);
if (faultMessageContext != null) {
ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
@@ -107,7 +108,7 @@
return;
}
- faultMessageContext = faultManager.checkForInvalidAcknowledgement(rmMsgCtx);
+ faultMessageContext = faultManager.checkForInvalidAcknowledgement(rmMsgCtx,storageManager);
if (faultMessageContext != null) {
ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
@@ -123,10 +124,10 @@
return;
}
- String internalSequenceID = SandeshaUtil.getSequenceProperty(outSequenceId,Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID,configCtx);
+ String internalSequenceID = SandeshaUtil.getSequenceProperty(outSequenceId,Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID,storageManager);
//updating the last activated time of the sequence.
- SequenceManager.updateLastActivatedTime(internalSequenceID,rmMsgCtx.getMessageContext().getConfigurationContext());
+ SequenceManager.updateLastActivatedTime(internalSequenceID,storageManager);
SequencePropertyBean internalSequenceBean = seqPropMgr.retrieve(
outSequenceId, Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID);
@@ -221,7 +222,7 @@
seqPropMgr.update(allCompletedMsgsBean);
- String lastOutMsgNoStr = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.LAST_OUT_MESSAGE_NO,configCtx);
+ String lastOutMsgNoStr = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.LAST_OUT_MESSAGE_NO,storageManager);
if (lastOutMsgNoStr!=null ) {
long highestOutMsgNo = 0;
if (lastOutMsgNoStr!=null) {
@@ -233,7 +234,7 @@
sequenceAck.getAcknowledgementRanges().iterator(),highestOutMsgNo);
if (complete)
- TerminateManager.addTerminateSequenceMessage(rmMsgCtx, outSequenceId,internalSequenceId);
+ TerminateManager.addTerminateSequenceMessage(rmMsgCtx, outSequenceId,internalSequenceId,storageManager);
}
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java Sun May 14 11:34:48 2006
@@ -31,6 +31,7 @@
import org.apache.axis2.context.OperationContextFactory;
import org.apache.axis2.context.ServiceContext;
import org.apache.axis2.description.AxisOperationFactory;
+import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.TransportOutDescription;
import org.apache.axis2.engine.AxisEngine;
import org.apache.axis2.transport.TransportSender;
@@ -122,12 +123,10 @@
Constants.RESPONSE_WRITTEN, Constants.VALUE_FALSE);
}
- StorageManager storageManager = SandeshaUtil
- .getSandeshaStorageManager(rmMsgCtx.getMessageContext()
- .getConfigurationContext());
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(msgCtx.getConfigurationContext(),msgCtx.getConfigurationContext().getAxisConfiguration());
FaultManager faultManager = new FaultManager();
- RMMsgContext faultMessageContext = faultManager.checkForLastMsgNumberExceeded(rmMsgCtx);
+ RMMsgContext faultMessageContext = faultManager.checkForLastMsgNumberExceeded(rmMsgCtx,storageManager);
if (faultMessageContext != null) {
ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
AxisEngine engine = new AxisEngine(configurationContext);
@@ -156,7 +155,7 @@
throw new SandeshaException(message);
}
- faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,sequenceId);
+ faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,sequenceId,storageManager);
if (faultMessageContext != null) {
ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
AxisEngine engine = new AxisEngine(configurationContext);
@@ -176,7 +175,7 @@
rmMsgCtx.addSOAPEnvelope();
//throwing a fault if the sequence is closed.
- faultMessageContext = faultManager. checkForSequenceClosed(rmMsgCtx,sequenceId);
+ faultMessageContext = faultManager. checkForSequenceClosed(rmMsgCtx,sequenceId,storageManager);
if (faultMessageContext != null) {
ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
AxisEngine engine = new AxisEngine(configurationContext);
@@ -191,7 +190,7 @@
}
//updating the last activated time of the sequence.
- SequenceManager.updateLastActivatedTime(sequenceId,configCtx);
+ SequenceManager.updateLastActivatedTime(sequenceId,storageManager);
SequencePropertyBean msgsBean = seqPropMgr.retrieve(sequenceId,
Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
@@ -206,8 +205,8 @@
String key = SandeshaUtil.getUUID(); //key to store the message.
//updating the Highest_In_Msg_No property which gives the highest message number retrieved from this sequence.
- String highetsInMsgNoStr = SandeshaUtil.getSequenceProperty(sequenceId,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER,configCtx);
- String highetsInMsgKey = SandeshaUtil.getSequenceProperty(sequenceId,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY,configCtx);
+ String highetsInMsgNoStr = SandeshaUtil.getSequenceProperty(sequenceId,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER,storageManager);
+ String highetsInMsgKey = SandeshaUtil.getSequenceProperty(sequenceId,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY,storageManager);
if (highetsInMsgKey==null)
highetsInMsgKey = SandeshaUtil.getUUID();
@@ -336,7 +335,7 @@
}
//Sending acknowledgements
- sendAckIfNeeded(rmMsgCtx, messagesStr);
+ sendAckIfNeeded(rmMsgCtx, messagesStr,storageManager);
}
@@ -354,13 +353,11 @@
return false;
}
- public void sendAckIfNeeded(RMMsgContext rmMsgCtx, String messagesStr)
+ public void sendAckIfNeeded(RMMsgContext rmMsgCtx, String messagesStr, StorageManager storageManager)
throws SandeshaException {
MessageContext msgCtx = rmMsgCtx.getMessageContext();
- StorageManager storageManager = SandeshaUtil
- .getSandeshaStorageManager(msgCtx.getConfigurationContext());
SequencePropertyBeanMgr seqPropMgr = storageManager
.getSequencePropretyBeanMgr();
@@ -381,7 +378,7 @@
rmMsgCtx.addSOAPEnvelope();
}
- RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(rmMsgCtx,sequenceId);
+ RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(rmMsgCtx,sequenceId,storageManager);
AxisEngine engine = new AxisEngine (configCtx);
@@ -408,8 +405,9 @@
}
}
- //retrieving the the storage manager
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext,configContext.getAxisConfiguration());
+
+
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
boolean serverSide = msgContext.isServerSide();
@@ -460,7 +458,7 @@
internalSequenceId = SandeshaUtil.getOutgoingSideInternalSequenceID(incomingSeqId);
//deciding weather the last message.
- String requestLastMsgNoStr = SandeshaUtil.getSequenceProperty(incomingSeqId,Sandesha2Constants.SequenceProperties.LAST_IN_MESSAGE_NO,configContext);
+ String requestLastMsgNoStr = SandeshaUtil.getSequenceProperty(incomingSeqId,Sandesha2Constants.SequenceProperties.LAST_IN_MESSAGE_NO,storageManager);
if (requestLastMsgNoStr!=null) {
long requestLastMsgNo = Long.parseLong(requestLastMsgNoStr);
if (requestLastMsgNo==requestMsgNo)
@@ -500,7 +498,7 @@
}
//the message number that was last used.
- long systemMessageNumber = getPreviousMsgNo(configContext, internalSequenceId);
+ long systemMessageNumber = getPreviousMsgNo(configContext, internalSequenceId,storageManager);
//The number given by the user has to be larger than the last stored number.
if (givenMessageNumber>0 && givenMessageNumber<=systemMessageNumber) {
@@ -527,7 +525,7 @@
//saving the used message number
if (!dummyMessage)
- setNextMsgNo(configContext,internalSequenceId,messageNumber);
+ setNextMsgNo(configContext,internalSequenceId,messageNumber,storageManager);
//set this as the response highest message.
SequencePropertyBean responseHighestMsgBean = new SequencePropertyBean (
@@ -614,7 +612,7 @@
}
// if fist message - setup the sending side sequence - both for the server and the client sides
- SequenceManager.setupNewClientSequence(msgContext, internalSequenceId,specVersion);
+ SequenceManager.setupNewClientSequence(msgContext, internalSequenceId,specVersion,storageManager);
}
ServiceContext serviceContext = msgContext.getServiceContext();
@@ -625,7 +623,7 @@
SequencePropertyBean responseCreateSeqAdded = seqPropMgr
.retrieve(internalSequenceId,Sandesha2Constants.SequenceProperties.OUT_CREATE_SEQUENCE_SENT);
- String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,configContext);
+ String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
if (responseCreateSeqAdded == null) {
@@ -680,7 +678,7 @@
//TODO
}
}
- addCreateSequenceMessage(rmMsgCtx, internalSequenceId, acksTo);
+ addCreateSequenceMessage(rmMsgCtx, internalSequenceId, acksTo,storageManager);
}
}
@@ -739,25 +737,23 @@
// processing the response if not an dummy.
if (!dummyMessage)
- processResponseMessage(rmMsgCtx, internalSequenceId, messageNumber,storageKey);
+ processResponseMessage(rmMsgCtx, internalSequenceId, messageNumber,storageKey,storageManager);
msgContext.pause(); // the execution will be stopped.
}
private void addCreateSequenceMessage(RMMsgContext applicationRMMsg,
- String internalSequenceId, String acksTo) throws SandeshaException {
+ String internalSequenceId, String acksTo, StorageManager storageManager) throws SandeshaException {
MessageContext applicationMsg = applicationRMMsg.getMessageContext();
ConfigurationContext configCtx = applicationMsg.getConfigurationContext();
//generating a new create sequeuce message.
- RMMsgContext createSeqRMMessage = RMMsgCreator.createCreateSeqMsg(applicationRMMsg, internalSequenceId, acksTo);
+ RMMsgContext createSeqRMMessage = RMMsgCreator.createCreateSeqMsg(applicationRMMsg, internalSequenceId, acksTo,storageManager);
createSeqRMMessage.setFlow(MessageContext.OUT_FLOW);
CreateSequence createSequencePart = (CreateSequence) createSeqRMMessage.getMessagePart(Sandesha2Constants.MessageParts.CREATE_SEQ);
- //retrieving the storage manager.
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
CreateSeqBeanMgr createSeqMgr = storageManager.getCreateSeqBeanMgr();
SenderBeanMgr retransmitterMgr = storageManager.getRetransmitterBeanMgr();
@@ -780,7 +776,7 @@
CreateSeqBean createSeqBean = new CreateSeqBean(internalSequenceId,createSeqMsg.getMessageID(), null);
createSeqMgr.insert(createSeqBean);
- String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,configCtx);
+ String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(internalSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
if (createSeqMsg.getReplyTo() == null)
@@ -825,14 +821,12 @@
}
private void processResponseMessage(RMMsgContext rmMsg,
- String internalSequenceId, long messageNumber, String storageKey) throws SandeshaException {
+ String internalSequenceId, long messageNumber, String storageKey, StorageManager storageManager) throws SandeshaException {
MessageContext msg = rmMsg.getMessageContext();
SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil.getSOAPVersion(rmMsg.getSOAPEnvelope()));
ConfigurationContext configurationContext = rmMsg.getMessageContext().getConfigurationContext();
- //retrieving storage manager
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(msg.getConfigurationContext());
SequencePropertyBeanMgr sequencePropertyMgr = storageManager.getSequencePropretyBeanMgr();
SenderBeanMgr retransmitterMgr = storageManager.getRetransmitterBeanMgr();
@@ -885,7 +879,7 @@
if (replyToEPR != null)
rmMsg.setReplyTo(replyToEPR);
- String rmVersion = SandeshaUtil.getRMVersion(internalSequenceId,configurationContext);
+ String rmVersion = SandeshaUtil.getRMVersion(internalSequenceId,storageManager);
if (rmVersion==null)
throw new SandeshaException ("Cant find the rmVersion of the given message");
@@ -1026,10 +1020,8 @@
}
private long getPreviousMsgNo(ConfigurationContext context,
- String internalSequenceId) throws SandeshaException {
+ String internalSequenceId,StorageManager storageManager) throws SandeshaException {
- //retrieving the storage managers
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
SequencePropertyBean nextMsgNoBean = seqPropMgr.retrieve(
@@ -1045,14 +1037,13 @@
}
private void setNextMsgNo(ConfigurationContext context,
- String internalSequenceId, long msgNo) throws SandeshaException {
+ String internalSequenceId, long msgNo,StorageManager storageManager) throws SandeshaException {
if (msgNo<=0) {
String message = "Message number '" + msgNo + "' is invalid. Has to be larger than zero.";
throw new SandeshaException (message);
}
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
SequencePropertyBean nextMsgNoBean = seqPropMgr.retrieve(
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java Sun May 14 11:34:48 2006
@@ -5,6 +5,7 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisService;
import org.apache.axis2.engine.AxisEngine;
import org.apache.axis2.util.Utils;
import org.apache.sandesha2.RMMsgContext;
@@ -32,8 +33,11 @@
String sequenceID = closeSequence.getIdentifier().getIdentifier();
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx,configCtx.getAxisConfiguration());
+
+
FaultManager faultManager = new FaultManager();
- RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,sequenceID);
+ RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,sequenceID,storageManager);
if (faultMessageContext != null) {
ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
AxisEngine engine = new AxisEngine(configurationContext);
@@ -48,8 +52,7 @@
return;
}
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
-
+
SequencePropertyBeanMgr sequencePropMgr = storageManager.getSequencePropretyBeanMgr();
SequencePropertyBean sequenceClosedBean = new SequencePropertyBean ();
sequenceClosedBean.setSequenceID(sequenceID);
@@ -58,7 +61,7 @@
sequencePropMgr.insert(sequenceClosedBean);
- RMMsgContext ackRMMsgCtx = AcknowledgementManager.generateAckMessage(rmMsgCtx,sequenceID);
+ RMMsgContext ackRMMsgCtx = AcknowledgementManager.generateAckMessage(rmMsgCtx,sequenceID,storageManager);
MessageContext ackMsgCtx = ackRMMsgCtx.getMessageContext();
@@ -86,7 +89,7 @@
closeSequenceResponseMsg = Utils.createOutMessageContext(closeSequenceMsg);
RMMsgContext closeSeqResponseRMMsg = RMMsgCreator
- .createCloseSeqResponseMsg(rmMsgCtx, closeSequenceResponseMsg);
+ .createCloseSeqResponseMsg(rmMsgCtx, closeSequenceResponseMsg,storageManager);
closeSeqResponseRMMsg.setMessagePart(Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT,sequenceAcknowledgement);
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java Sun May 14 11:34:48 2006
@@ -24,6 +24,7 @@
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.description.AxisService;
import org.apache.axis2.engine.AxisEngine;
import org.apache.axis2.util.Utils;
import org.apache.commons.logging.Log;
@@ -69,8 +70,11 @@
throw new SandeshaException(message);
}
+ ConfigurationContext context = createSeqMsg.getConfigurationContext();
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
+
FaultManager faultManager = new FaultManager();
- RMMsgContext faultMessageContext = faultManager.checkForCreateSequenceRefused(createSeqMsg);
+ RMMsgContext faultMessageContext = faultManager.checkForCreateSequenceRefused(createSeqMsg,storageManager);
if (faultMessageContext != null) {
ConfigurationContext configurationContext = createSeqMsg.getConfigurationContext();
AxisEngine engine = new AxisEngine(configurationContext);
@@ -88,16 +92,13 @@
MessageContext outMessage = null;
outMessage = Utils.createOutMessageContext(createSeqMsg); //createing a new response message.
- ConfigurationContext context = createSeqMsg.getConfigurationContext();
-
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
try {
- String newSequenceId = SequenceManager.setupNewSequence(createSeqRMMsg); //newly created sequnceID.
+ String newSequenceId = SequenceManager.setupNewSequence(createSeqRMMsg,storageManager); //newly created sequnceID.
RMMsgContext createSeqResponse = RMMsgCreator.createCreateSeqResponseMsg(
- createSeqRMMsg, outMessage,newSequenceId); // converting the blank out message in to a create
+ createSeqRMMsg, outMessage,newSequenceId,storageManager); // converting the blank out message in to a create
// sequence response.
createSeqResponse.setFlow(MessageContext.OUT_FLOW);
@@ -117,7 +118,7 @@
String offeredSequenceID = offer.getIdentifer().getIdentifier(); //offered seq. id.
- boolean offerEcepted = offerAccepted (offeredSequenceID,context,createSeqRMMsg);
+ boolean offerEcepted = offerAccepted (offeredSequenceID,context,createSeqRMMsg,storageManager);
if (offerEcepted) {
//Setting the CreateSequence table entry for the outgoing side.
@@ -170,7 +171,7 @@
//commiting tr. before sending the response msg.
- SequenceManager.updateLastActivatedTime(newSequenceId,createSeqRMMsg.getMessageContext().getConfigurationContext());
+ SequenceManager.updateLastActivatedTime(newSequenceId,storageManager);
AxisEngine engine = new AxisEngine(context);
engine.send(outMessage);
@@ -184,7 +185,7 @@
EndpointReference toEPR = new EndpointReference (toBean.getValue());
- String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(newSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,context);
+ String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(newSequenceId,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
if (anonymousURI.equals(toEPR.getAddress())) {
@@ -200,11 +201,10 @@
createSeqRMMsg.pause();
}
- private boolean offerAccepted (String sequenceID, ConfigurationContext configCtx, RMMsgContext createSeqRMMsg) throws SandeshaException {
+ private boolean offerAccepted (String sequenceID, ConfigurationContext configCtx, RMMsgContext createSeqRMMsg,StorageManager storageManager) throws SandeshaException {
if ("".equals(sequenceID))
return false;
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
CreateSeqBeanMgr createSeqMgr = storageManager.getCreateSeqBeanMgr();
CreateSeqBean createSeqFindBean = new CreateSeqBean ();
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java Sun May 14 11:34:48 2006
@@ -24,6 +24,7 @@
import org.apache.axis2.addressing.RelatesTo;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisService;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -70,8 +71,8 @@
MessageContext createSeqResponseMsg = createSeqResponseRMMsgCtx.getMessageContext();
ConfigurationContext configCtx = createSeqResponseRMMsgCtx
.getMessageContext().getConfigurationContext();
- StorageManager storageManager = SandeshaUtil
- .getSandeshaStorageManager(configCtx);
+
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx,configCtx.getAxisConfiguration());
//Processing for ack if available
@@ -231,7 +232,7 @@
if (applicationMsg==null)
throw new SandeshaException ("Unavailable application message");
- String rmVersion = SandeshaUtil.getRMVersion(internalSequenceId,configCtx);
+ String rmVersion = SandeshaUtil.getRMVersion(internalSequenceId,storageManager);
if (rmVersion==null)
throw new SandeshaException ("Cant find the rmVersion of the given message");
@@ -275,7 +276,7 @@
storageManager.updateMessageContext(key,applicationMsg);
}
- SequenceManager.updateLastActivatedTime(internalSequenceId,configCtx);
+ SequenceManager.updateLastActivatedTime(internalSequenceId,storageManager);
createSeqResponseRMMsgCtx.getMessageContext().getOperationContext()
.setProperty(org.apache.axis2.Constants.RESPONSE_WRITTEN,
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Sun May 14 11:34:48 2006
@@ -28,6 +28,7 @@
import org.apache.axis2.context.OperationContext;
import org.apache.axis2.context.OperationContextFactory;
import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.OutInAxisOperation;
import org.apache.axis2.description.TransportOutDescription;
import org.apache.axis2.engine.AxisEngine;
@@ -94,8 +95,11 @@
throw new SandeshaException (message);
}
+ ConfigurationContext context = terminateSeqMsg.getConfigurationContext();
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
+
FaultManager faultManager = new FaultManager();
- RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(terminateSeqRMMsg,sequenceId);
+ RMMsgContext faultMessageContext = faultManager.checkForUnknownSequence(terminateSeqRMMsg,sequenceId,storageManager);
if (faultMessageContext != null) {
ConfigurationContext configurationContext = terminateSeqMsg.getConfigurationContext();
AxisEngine engine = new AxisEngine(configurationContext);
@@ -110,8 +114,7 @@
return;
}
- ConfigurationContext context = terminateSeqMsg.getConfigurationContext();
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
+
SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropretyBeanMgr();
SequencePropertyBean terminateReceivedBean = new SequencePropertyBean ();
@@ -123,11 +126,11 @@
//add the terminate sequence response if required.
if (SpecSpecificConstants.isTerminateSequenceResponseRequired (terminateSeqRMMsg.getRMSpecVersion()))
- addTerminateSequenceResponse (terminateSeqRMMsg,sequenceId);
+ addTerminateSequenceResponse (terminateSeqRMMsg,sequenceId,storageManager);
setUpHighestMsgNumbers(context,storageManager,sequenceId,terminateSeqRMMsg);
- TerminateManager.cleanReceivingSideOnTerminateMessage(context,sequenceId);
+ TerminateManager.cleanReceivingSideOnTerminateMessage(context,sequenceId,storageManager);
SequencePropertyBean terminatedBean = new SequencePropertyBean (
@@ -139,7 +142,7 @@
//removing an entry from the listener
String transport = terminateSeqMsg.getTransportIn().getName().getLocalPart();
- SequenceManager.updateLastActivatedTime(sequenceId,context);
+ SequenceManager.updateLastActivatedTime(sequenceId,storageManager);
terminateSeqMsg.pause();
}
@@ -148,8 +151,8 @@
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
- String highestImMsgNumberStr = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER,configCtx);
- String highestImMsgKey = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY,configCtx);
+ String highestImMsgNumberStr = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_NUMBER,storageManager);
+ String highestImMsgKey = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY,storageManager);
long highestInMsgNo = 0;
if (highestImMsgNumberStr!=null) {
@@ -199,13 +202,13 @@
}
// If all the out message have been acked, add the outgoing terminate seq msg.
- String outgoingSqunceID = SandeshaUtil.getSequenceProperty(responseSideInternalSequenceID,Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID,configCtx);
+ String outgoingSqunceID = SandeshaUtil.getSequenceProperty(responseSideInternalSequenceID,Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID,storageManager);
if (addResponseSideTerminate && highestOutMsgNo>0
&& responseSideInternalSequenceID!=null && outgoingSqunceID!=null ) {
- boolean allAcked = SandeshaUtil.isAllMsgsAckedUpto (highestOutMsgNo, responseSideInternalSequenceID, configCtx);
+ boolean allAcked = SandeshaUtil.isAllMsgsAckedUpto (highestOutMsgNo, responseSideInternalSequenceID, storageManager);
if (allAcked)
- TerminateManager.addTerminateSequenceMessage(terminateRMMsg, outgoingSqunceID,responseSideInternalSequenceID);
+ TerminateManager.addTerminateSequenceMessage(terminateRMMsg, outgoingSqunceID,responseSideInternalSequenceID,storageManager);
}
} catch (AxisFault e) {
throw new SandeshaException (e);
@@ -213,7 +216,7 @@
}
- private void addTerminateSequenceResponse (RMMsgContext terminateSeqRMMsg, String sequenceID) throws SandeshaException {
+ private void addTerminateSequenceResponse (RMMsgContext terminateSeqRMMsg, String sequenceID, StorageManager storageManager) throws SandeshaException {
MessageContext terminateSeqMsg = terminateSeqRMMsg.getMessageContext();
ConfigurationContext configCtx = terminateSeqMsg.getConfigurationContext();
@@ -222,9 +225,9 @@
outMessage = Utils.createOutMessageContext(terminateSeqMsg);
RMMsgContext terminateSeqResponseRMMsg = RMMsgCreator
- .createTerminateSeqResponseMsg(terminateSeqRMMsg, outMessage);
+ .createTerminateSeqResponseMsg(terminateSeqRMMsg, outMessage,storageManager);
- RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(terminateSeqRMMsg,sequenceID);
+ RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(terminateSeqRMMsg,sequenceID,storageManager);
SequenceAcknowledgement seqAck = (SequenceAcknowledgement) ackRMMessage.getMessagePart(Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT);
terminateSeqResponseRMMsg.setMessagePart(Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT,seqAck);
@@ -247,7 +250,7 @@
throw new SandeshaException (message,e);
}
- String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,configCtx);
+ String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
if (anonymousURI.equals(
@@ -264,23 +267,22 @@
ConfigurationContext configurationContext = msgContext.getConfigurationContext();
Options options = msgContext.getOptions();
- StorageManager storageManager = SandeshaUtil
- .getSandeshaStorageManager(configurationContext);
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
+
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
String toAddress = rmMsgCtx.getTo().getAddress();
String sequenceKey = (String) options.getProperty(SandeshaClientConstants.SEQUENCE_KEY);
String internalSeqenceID = SandeshaUtil.getInternalSequenceID(toAddress,sequenceKey);
- String outSequenceID = SandeshaUtil.getSequenceProperty(internalSeqenceID,Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID,configurationContext);
+ String outSequenceID = SandeshaUtil.getSequenceProperty(internalSeqenceID,Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID,storageManager);
if (outSequenceID==null)
throw new SandeshaException ("SequenceID was not found. Cannot send the terminate message");
/// Transaction addTerminateSeqTransaction = storageManager.getTransaction();
String terminated = SandeshaUtil.getSequenceProperty(outSequenceID,
- Sandesha2Constants.SequenceProperties.TERMINATE_ADDED,configurationContext);
-
+ Sandesha2Constants.SequenceProperties.TERMINATE_ADDED,storageManager);
//registring an InOutOperationContext for this.
@@ -316,14 +318,14 @@
rmMsgCtx.setTo(new EndpointReference(toAddress));
- String rmVersion = SandeshaUtil.getRMVersion(internalSeqenceID,configurationContext);
+ String rmVersion = SandeshaUtil.getRMVersion(internalSeqenceID,storageManager);
if (rmVersion==null)
throw new SandeshaException ("Cant find the rmVersion of the given message");
rmMsgCtx.setWSAAction(SpecSpecificConstants.getTerminateSequenceAction(rmVersion));
rmMsgCtx.setSOAPAction(SpecSpecificConstants.getTerminateSequenceSOAPAction(rmVersion));
- String transportTo = SandeshaUtil.getSequenceProperty(internalSeqenceID,Sandesha2Constants.SequenceProperties.TRANSPORT_TO,configurationContext);
+ String transportTo = SandeshaUtil.getSequenceProperty(internalSeqenceID,Sandesha2Constants.SequenceProperties.TRANSPORT_TO,storageManager);
if (transportTo!=null) {
rmMsgCtx.setProperty(MessageContextConstants.TRANSPORT_URL,transportTo);
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/policy/PolicyEngineData.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/policy/PolicyEngineData.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/policy/PolicyEngineData.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/policy/PolicyEngineData.java Sun May 14 11:34:48 2006
@@ -9,9 +9,9 @@
private boolean invokeInOrder = true;
private String messageTypesToDrop = null;
private long retransmissionInterval = -1;
- private String permanentStorageMgr = null;
- private String inmemoryStorageManager = null;
- private String storageManager = null;
+ private String permanentStorageManager = null;
+ private String inMemoryStorageManager = null;
+// private String storageManager = null;
private int maximumRetransmissionCount;
private boolean acknowledgementIntervalSet = false;
@@ -21,9 +21,9 @@
private boolean invokeInOrderSet = false;
private boolean messageTypesToDropSet = false;
private boolean retransmissionIntervalSet = false;
- private boolean permanentStorageMgrSet = false;
- private boolean inmemoryStorageManagerSet = false;
- private boolean storageManagerSet = false;
+ private boolean permanentStorageManagerSet = false;
+ private boolean inMemoryStorageManagerSet = false;
+// private boolean storageManagerSet = false;
private boolean maximumRetransmissionCountSet = false;
public boolean isExponentialBackoff() {
@@ -118,8 +118,14 @@
//ped.setPermanentStorageManager(this.getPermanentStorageManager());
- if (isStorageManagerSet())
- ped.setStorageManager(this.getStorageManager());
+// if (isStorageManagerSet())
+// ped.setStorageManager(this.getStorageManager());
+
+ if (isInMemoryStorageManagerSet())
+ ped.setInMemoryStorageManager(this.getInMemoryStorageManager());
+
+ if (isPermanentStorageManagerSet())
+ ped.setPermanentStorageManager(this.getPermanentStorageManager());
if (isMaximumRetransmissionCountSet())
ped.setMaximumRetransmissionCount(this.getMaximumRetransmissionCount());
@@ -136,14 +142,14 @@
return acknowledgementInterval;
}
- public void setStorageManager(String storageManager) {
- this.storageManager = storageManager;
- setStorageManagerSet(true);
- }
-
- public String getStorageManager() {
- return storageManager;
- }
+// public void setStorageManager(String storageManager) {
+// this.storageManager = storageManager;
+// setStorageManagerSet(true);
+// }
+//
+// public String getStorageManager() {
+// return storageManager;
+// }
public int getMaximumRetransmissionCount() {
return maximumRetransmissionCount;
@@ -170,12 +176,8 @@
return inactivityTimeoutSet;
}
- public String getInmemoryStorageManager() {
- return inmemoryStorageManager;
- }
-
- public boolean isInmemoryStorageManagerSet() {
- return inmemoryStorageManagerSet;
+ public boolean isInMemoryStorageManagerSet() {
+ return inMemoryStorageManagerSet;
}
public boolean isInvokeInOrderSet() {
@@ -189,22 +191,26 @@
public boolean isMessageTypesToDropSet() {
return messageTypesToDropSet;
}
-
- public String getPermanentStorageMgr() {
- return permanentStorageMgr;
+
+ public boolean isPermanentStorageManagerSet() {
+ return permanentStorageManagerSet;
}
- public boolean isPermanentStorageMgrSet() {
- return permanentStorageMgrSet;
+ public String getPermanentStorageManager() {
+ return permanentStorageManager;
+ }
+
+ public String getInMemoryStorageManager() {
+ return inMemoryStorageManager;
}
public boolean isRetransmissionIntervalSet() {
return retransmissionIntervalSet;
}
- public boolean isStorageManagerSet() {
- return storageManagerSet;
- }
+// public boolean isStorageManagerSet() {
+// return storageManagerSet;
+// }
private void setAcknowledgementIntervalSet(boolean acknowledgementIntervalSet) {
this.acknowledgementIntervalSet = acknowledgementIntervalSet;
@@ -222,13 +228,13 @@
this.inactivityTimeoutSet = inactivityTimeoutSet;
}
- public void setInmemoryStorageManager(String inmemoryStorageManager) {
- this.inmemoryStorageManager = inmemoryStorageManager;
+ public void setInMemoryStorageManager(String inMemoryStorageManager) {
+ this.inMemoryStorageManager = inMemoryStorageManager;
setInmemoryStorageManagerSet(true);
}
- private void setInmemoryStorageManagerSet(boolean inmemoryStorageManagerSet) {
- this.inmemoryStorageManagerSet = inmemoryStorageManagerSet;
+ private void setInmemoryStorageManagerSet(boolean inMemoryStorageManagerSet) {
+ this.inMemoryStorageManagerSet = inMemoryStorageManagerSet;
}
private void setInvokeInOrderSet(boolean invokeInOrderSet) {
@@ -243,20 +249,20 @@
this.messageTypesToDropSet = messageTypesToDropSet;
}
- public void setPermanentStorageMgr(String permanentStorageMgr) {
- this.permanentStorageMgr = permanentStorageMgr;
- setPermanentStorageMgrSet(true);
+ public void setPermanentStorageManager(String permanentStorageManager) {
+ this.permanentStorageManager = permanentStorageManager;
+ setPermanentStorageManagerSet(true);
}
- private void setPermanentStorageMgrSet(boolean permanentStorageMgrSet) {
- this.permanentStorageMgrSet = permanentStorageMgrSet;
+ private void setPermanentStorageManagerSet(boolean permanentStorageManagerSet) {
+ this.permanentStorageManagerSet = permanentStorageManagerSet;
}
private void setRetransmissionIntervalSet(boolean retransmissionIntervalSet) {
this.retransmissionIntervalSet = retransmissionIntervalSet;
}
- private void setStorageManagerSet(boolean storageManagerSet) {
- this.storageManagerSet = storageManagerSet;
- }
+// private void setStorageManagerSet(boolean storageManagerSet) {
+// this.storageManagerSet = storageManagerSet;
+// }
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicy.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicy.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicy.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicy.java Sun May 14 11:34:48 2006
@@ -34,9 +34,12 @@
public static final RMPolicyToken storageManagers = new RMPolicyToken(
"StorageManagers", RMPolicyToken.COMPLEX_TOKEN, new String[] {});
- public static final RMPolicyToken permenentStorageManager = new RMPolicyToken(
+ public static final RMPolicyToken inMemoryStorageManager = new RMPolicyToken(
+ "InMemoryStorageManager", RMPolicyToken.SIMPLE_TOKEN, new String[]{});
+
+ public static final RMPolicyToken permanentStorageManager = new RMPolicyToken(
"PermanentStorageManager", RMPolicyToken.SIMPLE_TOKEN, new String[]{});
- public static final RMPolicyToken storageManager = new RMPolicyToken(
- "StorageManager", RMPolicyToken.SIMPLE_TOKEN, new String[]{});
+// public static final RMPolicyToken storageManager = new RMPolicyToken(
+// "StorageManager", RMPolicyToken.SIMPLE_TOKEN, new String[]{});
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/policy/processors/StorageManagersProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/policy/processors/StorageManagersProcessor.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/policy/processors/StorageManagersProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/policy/processors/StorageManagersProcessor.java Sun May 14 11:34:48 2006
@@ -14,11 +14,15 @@
public void initializeStorageManager(RMPolicyToken rmpt)
throws NoSuchMethodException {
- RMPolicyToken tmpRpt = RMPolicy.storageManager.copy();
+// RMPolicyToken tmpRpt = RMPolicy.storageManager.copy();
+// tmpRpt.setProcessTokenMethod(this);
+// rmpt.setChildToken(tmpRpt);
+
+ RMPolicyToken tmpRpt = RMPolicy.inMemoryStorageManager.copy();
tmpRpt.setProcessTokenMethod(this);
rmpt.setChildToken(tmpRpt);
-
- tmpRpt = RMPolicy.permenentStorageManager.copy();
+
+ tmpRpt = RMPolicy.permanentStorageManager.copy();
tmpRpt.setProcessTokenMethod(this);
rmpt.setChildToken(tmpRpt);
@@ -49,12 +53,23 @@
return new Boolean(true);
}
- public Object doStorageManager(RMProcessorContext rmpc) {
+// public Object doStorageManager(RMProcessorContext rmpc) {
+// PolicyEngineData ped = rmpc.readCurrentPolicyEngineData();
+// String cls = rmpc.getAssertion().getStrValue();
+//
+// if (cls != null && !cls.trim().equals("")) {
+// ped.setStorageManager(cls.trim());
+// }
+//
+// return new Boolean(true);
+// }
+
+ public Object doInMemoryStorageManager(RMProcessorContext rmpc) {
PolicyEngineData ped = rmpc.readCurrentPolicyEngineData();
String cls = rmpc.getAssertion().getStrValue();
if (cls != null && !cls.trim().equals("")) {
- ped.setStorageManager(cls.trim());
+ ped.setInMemoryStorageManager(cls.trim());
}
return new Boolean(true);
@@ -65,7 +80,7 @@
String cls = spc.getAssertion().getStrValue();
if (cls != null && !cls.trim().equals("")) {
- ped.setStorageManager(cls.trim());
+ ped.setPermanentStorageManager(cls.trim());
}
return new Boolean(true);
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/transport/Sandesha2TransportSender.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/transport/Sandesha2TransportSender.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/transport/Sandesha2TransportSender.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/transport/Sandesha2TransportSender.java Sun May 14 11:34:48 2006
@@ -8,6 +8,7 @@
import org.apache.axis2.description.HandlerDescription;
import org.apache.axis2.description.Parameter;
import org.apache.axis2.description.TransportOutDescription;
+import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.transport.TransportSender;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
@@ -40,7 +41,11 @@
throw new SandeshaException ("Cant store message without the storage key");
ConfigurationContext configurationContext = msgContext.getConfigurationContext();
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
+ AxisConfiguration axisConfiguration = configurationContext.getAxisConfiguration();
+
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,axisConfiguration);
+
+
storageManager.updateMessageContext(key,msgContext);
msgContext.setProperty(Sandesha2Constants.QUALIFIED_FOR_SENDING,Sandesha2Constants.VALUE_TRUE);
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/AcknowledgementManager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/AcknowledgementManager.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/AcknowledgementManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/AcknowledgementManager.java Sun May 14 11:34:48 2006
@@ -66,10 +66,9 @@
* @throws SandeshaException
*/
public static void piggybackAcksIfPresent(
- RMMsgContext rmMessageContext) throws SandeshaException {
+ RMMsgContext rmMessageContext,StorageManager storageManager) throws SandeshaException {
ConfigurationContext configurationContext = rmMessageContext.getConfigurationContext();
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
SenderBeanMgr retransmitterBeanMgr = storageManager.getRetransmitterBeanMgr();
SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropretyBeanMgr();
@@ -186,12 +185,11 @@
return completedMsgList;
}
- public static RMMsgContext generateAckMessage (RMMsgContext referenceRMMessage, String sequenceID)throws SandeshaException {
+ public static RMMsgContext generateAckMessage (RMMsgContext referenceRMMessage, String sequenceID, StorageManager storageManager)throws SandeshaException {
MessageContext referenceMsg = referenceRMMessage.getMessageContext();
ConfigurationContext configurationContext = referenceRMMessage.getMessageContext().getConfigurationContext();
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext);
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
//Setting the ack depending on AcksTo.
@@ -250,11 +248,11 @@
ackMsgCtx.setTo(acksTo);
//adding the SequenceAcknowledgement part.
- RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceID);
+ RMMsgCreator.addAckMessage(ackRMMsgCtx, sequenceID,storageManager);
ackMsgCtx.setProperty(MessageContext.TRANSPORT_IN,null);
- String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,configurationContext);
+ String addressingNamespaceURI = SandeshaUtil.getSequenceProperty(sequenceID,Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,storageManager);
String anonymousURI = SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
ackMsgCtx.setProperty(AddressingConstants.WS_ADDRESSING_VERSION,addressingNamespaceURI);
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java Sun May 14 11:34:48 2006
@@ -74,7 +74,7 @@
* @throws SandeshaException
*/
public RMMsgContext checkForCreateSequenceRefused(
- MessageContext createSequenceMessage) throws SandeshaException {
+ MessageContext createSequenceMessage, StorageManager storageManager) throws SandeshaException {
RMMsgContext createSequenceRMMsg = MsgInitializer
.initializeMessage(createSequenceMessage);
@@ -86,8 +86,6 @@
"Passed message does not have a CreateSequence part");
ConfigurationContext context = createSequenceMessage.getConfigurationContext();
- StorageManager storageManager = (StorageManager) SandeshaUtil
- .getSandeshaStorageManager(context);
if (storageManager == null)
throw new SandeshaException("Storage Manager is null");
@@ -105,7 +103,7 @@
data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
data.setReason(reason);
- return getFault(createSequenceRMMsg, data,createSequenceRMMsg.getAddressingNamespaceValue());
+ return getFault(createSequenceRMMsg, data,createSequenceRMMsg.getAddressingNamespaceValue(),storageManager);
}
return null;
@@ -118,13 +116,12 @@
* @param msgCtx
* @return
*/
- public RMMsgContext checkForLastMsgNumberExceeded(RMMsgContext applicationRMMessage) throws SandeshaException {
+ public RMMsgContext checkForLastMsgNumberExceeded(RMMsgContext applicationRMMessage, StorageManager storageManager) throws SandeshaException {
Sequence sequence = (Sequence) applicationRMMessage.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
long messageNumber = sequence.getMessageNumber().getMessageNumber();
String sequenceID = sequence.getIdentifier().getIdentifier();
ConfigurationContext configCtx = applicationRMMessage.getMessageContext().getConfigurationContext();
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
boolean lastMessageNumberExceeded = false;
@@ -150,7 +147,7 @@
faultData.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.LAST_MESSAGE_NO_EXCEEDED);
faultData.setReason(reason);
- return getFault(applicationRMMessage, faultData, applicationRMMessage.getAddressingNamespaceValue());
+ return getFault(applicationRMMessage, faultData, applicationRMMessage.getAddressingNamespaceValue(),storageManager);
} else
return null;
}
@@ -169,13 +166,12 @@
* @return @throws
* SandeshaException
*/
- public RMMsgContext checkForUnknownSequence(RMMsgContext rmMessageContext, String sequenceID)
+ public RMMsgContext checkForUnknownSequence(RMMsgContext rmMessageContext, String sequenceID, StorageManager storageManager)
throws SandeshaException {
MessageContext messageContext = rmMessageContext.getMessageContext();
ConfigurationContext configCtx = messageContext.getConfigurationContext();
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
CreateSeqBeanMgr createSeqMgr = storageManager.getCreateSeqBeanMgr();
int type = rmMessageContext.getMessageType();
@@ -241,7 +237,7 @@
data.setReason("A sequence with the given sequenceID has NOT been established");
- return getFault(rmMessageContext, data,rmMessageContext.getAddressingNamespaceValue());
+ return getFault(rmMessageContext, data,rmMessageContext.getAddressingNamespaceValue(),storageManager);
}
return null;
@@ -254,7 +250,7 @@
* @return @throws
* SandeshaException
*/
- public RMMsgContext checkForInvalidAcknowledgement(RMMsgContext ackRMMessageContext)
+ public RMMsgContext checkForInvalidAcknowledgement(RMMsgContext ackRMMessageContext,StorageManager storageManager)
throws SandeshaException {
//check lower<=upper
@@ -304,17 +300,16 @@
new QName (Sandesha2Constants.WSRM_COMMON.SEQUENCE_ACK));
data.setDetail(sequenceAckElement);
- return getFault(ackRMMessageContext, data,ackRMMessageContext.getAddressingNamespaceValue());
+ return getFault(ackRMMessageContext, data,ackRMMessageContext.getAddressingNamespaceValue(),storageManager);
}
return null;
}
- public RMMsgContext checkForSequenceClosed ( RMMsgContext referenceRMMessage, String sequenceID) throws SandeshaException {
+ public RMMsgContext checkForSequenceClosed ( RMMsgContext referenceRMMessage, String sequenceID, StorageManager storageManager) throws SandeshaException {
MessageContext referenceMessage = referenceRMMessage.getMessageContext();
ConfigurationContext configCtx = referenceMessage.getConfigurationContext();
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configCtx);
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
boolean sequenceClosed = false;
@@ -336,7 +331,7 @@
data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.SEQUENCE_CLOSED);
data.setReason(reason);
- return getFault(referenceRMMessage, data, referenceRMMessage.getAddressingNamespaceValue());
+ return getFault(referenceRMMessage, data, referenceRMMessage.getAddressingNamespaceValue(),storageManager);
}
return null;
@@ -351,7 +346,7 @@
* @throws SandeshaException
*/
public RMMsgContext getFault(RMMsgContext referenceRMMsgContext,
- FaultData data, String addressingNamespaceURI) throws SandeshaException {
+ FaultData data, String addressingNamespaceURI,StorageManager storageManager) throws SandeshaException {
try {
MessageContext referenceMessage = referenceRMMsgContext.getMessageContext();
@@ -374,10 +369,6 @@
MessageContext faultMsgContext = Utils
.createOutMessageContext(referenceMessage);
-
- StorageManager storageManager = SandeshaUtil
- .getSandeshaStorageManager(referenceMessage
- .getConfigurationContext());
//setting contexts.
faultMsgContext.setAxisServiceGroup(referenceMessage
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java Sun May 14 11:34:48 2006
@@ -42,8 +42,7 @@
private static final Log log = LogFactory.getLog(MessageRetransmissionAdjuster.class);
public boolean adjustRetransmittion(
- SenderBean retransmitterBean,ConfigurationContext configContext) throws SandeshaException {
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
+ SenderBean retransmitterBean,ConfigurationContext configContext,StorageManager storageManager) throws SandeshaException {
String storedKey = (String) retransmitterBean.getMessageContextRefKey();
@@ -68,7 +67,7 @@
if (maxRetransmissionAttempts>=0 && retransmitterBean.getSentCount() > maxRetransmissionAttempts)
timeOutSequence = true;
- boolean sequenceTimedOut = SequenceManager.hasSequenceTimedOut(internalSequenceID, rmMsgCtx);
+ boolean sequenceTimedOut = SequenceManager.hasSequenceTimedOut(internalSequenceID, rmMsgCtx,storageManager);
if (sequenceTimedOut)
timeOutSequence = true;
@@ -77,7 +76,7 @@
stopRetransmission(retransmitterBean);
//Only messages of outgoing sequences get retransmitted. So named following method according to that.
- finalizeTimedOutSequence (internalSequenceID,sequenceID, messageContext);
+ finalizeTimedOutSequence (internalSequenceID,sequenceID, messageContext,storageManager);
continueSending = false;
}
@@ -131,12 +130,12 @@
return interval;
}
- private void finalizeTimedOutSequence (String internalSequenceID, String sequenceID ,MessageContext messageContext) throws SandeshaException {
+ private void finalizeTimedOutSequence (String internalSequenceID, String sequenceID ,MessageContext messageContext,StorageManager storageManager) throws SandeshaException {
ConfigurationContext configurationContext = messageContext.getConfigurationContext();
configurationContext.setProperty(Sandesha2Constants.WITHIN_TRANSACTION,messageContext.getProperty(Sandesha2Constants.WITHIN_TRANSACTION));
SequenceReport report = SandeshaClient.getOutgoingSequenceReport(internalSequenceID ,configurationContext);
- TerminateManager.timeOutSendingSideSequence(configurationContext,internalSequenceID, false);
+ TerminateManager.timeOutSendingSideSequence(configurationContext,internalSequenceID, false,storageManager);
SandeshaListener listener = (SandeshaListener) messageContext.getProperty(SandeshaClientConstants.SANDESHA_LISTENER);
if (listener!=null) {
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/MsgInitializer.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/MsgInitializer.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/MsgInitializer.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/MsgInitializer.java Sun May 14 11:34:48 2006
@@ -20,6 +20,9 @@
import org.apache.axis2.addressing.AddressingConstants;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisDescription;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.engine.AxisConfiguration;
import org.apache.sandesha2.RMMsgContext;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
@@ -161,8 +164,8 @@
throws SandeshaException {
ConfigurationContext configContext = rmMsgCtx.getMessageContext().getConfigurationContext();
-
- StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext);
+ AxisConfiguration axisConfiguration = configContext.getAxisConfiguration();
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configContext,axisConfiguration);
SequencePropertyBeanMgr sequencePropertyBeanMgr = storageManager.getSequencePropretyBeanMgr();
String sequenceID = null;
@@ -219,7 +222,7 @@
String rmNamespace = rmMsgCtx.getRMNamespaceValue();
if (sequenceID!=null) {
- String specVersion = SandeshaUtil.getRMVersion(propertyKey,rmMsgCtx.getMessageContext().getConfigurationContext());
+ String specVersion = SandeshaUtil.getRMVersion(propertyKey,storageManager);
String sequenceRMNamespace = null;
if (specVersion!=null)
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/PropertyManager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/PropertyManager.java?rev=406396&r1=406395&r2=406396&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/PropertyManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/PropertyManager.java Sun May 14 11:34:48 2006
@@ -57,7 +57,9 @@
propertyBean.setInOrder(Sandesha2Constants.Properties.DefaultValues.InvokeInOrder);
propertyBean.setMsgTypesToDrop(null);
propertyBean.setRetransmissionInterval(Sandesha2Constants.Properties.DefaultValues.RetransmissionInterval);
- propertyBean.setStorageManagerClass(Sandesha2Constants.Properties.DefaultValues.StorageManager);
+// propertyBean.setStorageManagerClass(Sandesha2Constants.Properties.DefaultValues.StorageManager);
+ propertyBean.setInMemoryStorageManagerClass(Sandesha2Constants.Properties.DefaultValues.InMemoryStorageManager);
+ propertyBean.setPermanentStorageManagerClass(Sandesha2Constants.Properties.DefaultValues.PermanentStorageManager);
propertyBean.setMaximumRetransmissionCount(Sandesha2Constants.Properties.DefaultValues.MaximumRetransmissionCount);
String msgTypesToDrop = Sandesha2Constants.Properties.DefaultValues.MessageTypesToDrop;
@@ -97,9 +99,17 @@
loadInactivityTimeout(inactivityTimeoutStr,
inactivityTimeoutMeasure,propertyBean);
- String storageMgrClassStr = properties
- .getProperty(Sandesha2Constants.Properties.StorageManager);
- loadStoragemanagerClass(storageMgrClassStr,propertyBean);
+// String storageMgrClassStr = properties
+// .getProperty(Sandesha2Constants.Properties.StorageManager);
+// loadStoragemanagerClass(storageMgrClassStr,propertyBean);
+
+ String inMemoryStorageMgrClassStr = properties
+ .getProperty(Sandesha2Constants.Properties.InMemoryStorageManager);
+ loadInMemoryStoragemanagerClass(inMemoryStorageMgrClassStr,propertyBean);
+
+ String permanentStorageMgrClassStr = properties
+ .getProperty(Sandesha2Constants.Properties.PermanentStorageManager);
+ loadPermanentStoragemanagerClass(permanentStorageMgrClassStr,propertyBean);
String inOrderInvocation = properties
.getProperty(Sandesha2Constants.Properties.InOrderInvocation);
@@ -137,9 +147,17 @@
String inactivityTimeoutMeasure = (String) inactivityTimeoutMeasureParam.getValue();
loadInactivityTimeout(inactivityTimeoutStr,inactivityTimeoutMeasure,propertyBean);
- Parameter storageMgrClassParam = desc.getParameter(Sandesha2Constants.Properties.StorageManager);
- String storageMgrClassStr = (String) storageMgrClassParam.getValue();
- loadStoragemanagerClass(storageMgrClassStr,propertyBean);
+// Parameter storageMgrClassParam = desc.getParameter(Sandesha2Constants.Properties.StorageManager);
+// String storageMgrClassStr = (String) storageMgrClassParam.getValue();
+// loadStoragemanagerClass(storageMgrClassStr,propertyBean);
+
+ Parameter inMemoryStorageMgrClassParam = desc.getParameter(Sandesha2Constants.Properties.InMemoryStorageManager);
+ String inMemoryStorageMgrClassStr = (String) inMemoryStorageMgrClassParam.getValue();
+ loadInMemoryStoragemanagerClass(inMemoryStorageMgrClassStr,propertyBean);
+
+ Parameter permanentStorageMgrClassParam = desc.getParameter(Sandesha2Constants.Properties.PermanentStorageManager);
+ String permanentStorageMgrClassStr = (String) permanentStorageMgrClassParam.getValue();
+ loadPermanentStoragemanagerClass(permanentStorageMgrClassStr,propertyBean);
Parameter inOrderInvocationParam = desc.getParameter(Sandesha2Constants.Properties.InOrderInvocation);
String inOrderInvocation = (String) inOrderInvocationParam.getValue();
@@ -207,10 +225,30 @@
else
propertyBean.setRetransmissionInterval(parentPropertyBean.getRetransmissionInterval());
- if (data.isStorageManagerSet())
- propertyBean.setStorageManagerClass(data.getStorageManager());
+// if (data.isStorageManagerSet())
+// propertyBean.setStorageManagerClass(data.getStorageManager());
+// else
+// propertyBean.setStorageManagerClass(data.getStorageManager());
+
+ if (data.isInMemoryStorageManagerSet())
+ propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
+ else
+ propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
+
+// if (data.isStorageManagerSet())
+// propertyBean.setStorageManagerClass(data.getStorageManager());
+// else
+// propertyBean.setStorageManagerClass(data.getStorageManager());
+
+ if (data.isInMemoryStorageManagerSet())
+ propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
+ else
+ propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
+
+ if (data.isPermanentStorageManagerSet())
+ propertyBean.setPermanentStorageManagerClass(data.getPermanentStorageManager());
else
- propertyBean.setStorageManagerClass(data.getStorageManager());
+ propertyBean.setPermanentStorageManagerClass(data.getPermanentStorageManager());
if (data.isMessageTypesToDropSet())
loadMessageTypesToDrop(data.getMessageTypesToDrop(),propertyBean);
@@ -274,10 +312,20 @@
else
propertyBean.setRetransmissionInterval(parentPropertyBean.getRetransmissionInterval());
- if (data.isStorageManagerSet())
- propertyBean.setStorageManagerClass(data.getStorageManager());
+// if (data.isStorageManagerSet())
+// propertyBean.setStorageManagerClass(data.getStorageManager());
+// else
+// propertyBean.setStorageManagerClass(data.getStorageManager());
+
+ if (data.isInMemoryStorageManagerSet())
+ propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
else
- propertyBean.setStorageManagerClass(data.getStorageManager());
+ propertyBean.setInMemoryStorageManagerClass(data.getInMemoryStorageManager());
+
+ if (data.isPermanentStorageManagerSet())
+ propertyBean.setPermanentStorageManagerClass(data.getPermanentStorageManager());
+ else
+ propertyBean.setPermanentStorageManagerClass(data.getPermanentStorageManager());
if (data.isMessageTypesToDropSet())
loadMessageTypesToDrop(data.getMessageTypesToDrop(),propertyBean);
@@ -378,15 +426,39 @@
}
}
+// /**
+// * Loads the StorageManager class name.
+// *
+// * @param properties
+// */
+// private static void loadStoragemanagerClass(String storageMgrClassStr, SandeshaPropertyBean propertyBean) throws SandeshaException {
+// if (storageMgrClassStr != null) {
+// storageMgrClassStr = storageMgrClassStr.trim();
+// propertyBean.setStorageManagerClass(storageMgrClassStr);
+// }
+// }
+
+ /**
+ * Loads the InMemoryStorageManager class name.
+ *
+ * @param properties
+ */
+ private static void loadInMemoryStoragemanagerClass(String inMemoryStorageMgrClassStr, SandeshaPropertyBean propertyBean) throws SandeshaException {
+ if (inMemoryStorageMgrClassStr != null) {
+ inMemoryStorageMgrClassStr = inMemoryStorageMgrClassStr.trim();
+ propertyBean.setInMemoryStorageManagerClass(inMemoryStorageMgrClassStr);
+ }
+ }
+
/**
- * Loads the StorageManager class name.
+ * Loads the PermanentStorageManager class name.
*
* @param properties
*/
- private static void loadStoragemanagerClass(String storageMgrClassStr, SandeshaPropertyBean propertyBean) throws SandeshaException {
- if (storageMgrClassStr != null) {
- storageMgrClassStr = storageMgrClassStr.trim();
- propertyBean.setStorageManagerClass(storageMgrClassStr);
+ private static void loadPermanentStoragemanagerClass(String permanentStorageMgrClassStr, SandeshaPropertyBean propertyBean) throws SandeshaException {
+ if (permanentStorageMgrClassStr != null) {
+ permanentStorageMgrClassStr = permanentStorageMgrClassStr.trim();
+ propertyBean.setPermanentStorageManagerClass(permanentStorageMgrClassStr);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org