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 2005/12/21 03:06:24 UTC
svn commit: r358178 [1/2] - in
/webservices/sandesha/trunk/src/org/apache/sandesha2: ./ handlers/
msgprocessors/ policy/ storage/ storage/beanmanagers/ storage/beans/
storage/inmemory/ storage/persistent/ util/ workers/
Author: chamikara
Date: Tue Dec 20 18:05:00 2005
New Revision: 358178
URL: http://svn.apache.org/viewcvs?rev=358178&view=rev
Log:
Added transaction handling logic.
A new exception SandeshaStorageException is thrown from the storage framework.
Some modifications to the bean manager interfaces.
The 'velue' property of the SequencePRopertyBean manager was made a String (instead of an object), for allowing it to be saved in a database easily.
Some bug fixes.
Added:
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java
Removed:
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/persistent/
Modified:
webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java
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/TerminateManager.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/AcknowledgementProcessor.java
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.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/RMPolicyBean.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/Transaction.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/InvokerBeanMgr.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SenderBeanMgr.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/InvokerBean.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/NextMsgBean.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/RMBean.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SenderBean.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryCreateSeqBeanMgr.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryInvokerBeanMgr.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryNextMsgBeanMgr.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySenderBeanMgr.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySequencePropertyBeanMgr.java
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryTransaction.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/PropertyManager.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/RMMsgCreator.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/workers/InOrderInvoker.java
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/AcknowledgementManager.java Tue Dec 20 18:05:00 2005
@@ -74,9 +74,10 @@
throw new SandeshaException("Temp Sequence is not set");
String internalSequenceId = (String) internalSequenceBean.getValue();
- findBean.setInternalSequenceId(internalSequenceId);
- findBean.setMessagetype(Sandesha2Constants.MessageTypes.ACK);
-
+ findBean.setInternalSequenceID(internalSequenceId);
+ findBean.setMessageType(Sandesha2Constants.MessageTypes.ACK);
+ findBean.setSend(true);
+ findBean.setReSend(false);
Collection collection = retransmitterBeanMgr.find(findBean);
Iterator it = collection.iterator();
@@ -84,11 +85,11 @@
SenderBean ackBean = (SenderBean) it.next();
//deleting the ack entry.
- retransmitterBeanMgr.delete(ackBean.getMessageId());
+ retransmitterBeanMgr.delete(ackBean.getMessageID());
//Adding the ack to the application message
MessageContext ackMsgContext = SandeshaUtil
- .getStoredMessageContext(ackBean.getKey());
+ .getStoredMessageContext(ackBean.getMessageContextRefKey());
RMMsgContext ackRMMsgContext = MsgInitializer
.initializeMessage(ackMsgContext);
if (ackRMMsgContext.getMessageType() != Sandesha2Constants.MessageTypes.ACK)
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=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/Sandesha2Constants.java Tue Dec 20 18:05:00 2005
@@ -310,7 +310,7 @@
String RM_ENABLE_KEY = "RMEnabled";
- String STORAGE_MANAGER_IMPL = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
+ //String STORAGE_MANAGER_IMPL = "org.apache.sandesha2.storage.inmemory.InMemoryStorageManager";
int MAXIMUM_RETRANSMISSION_ATTEMPTS = 5;
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=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaModule.java Tue Dec 20 18:05:00 2005
@@ -33,7 +33,6 @@
// initialize the module
public void init(AxisConfiguration axisSystem) throws AxisFault {
-
}
// shutdown the module
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java Tue Dec 20 18:05:00 2005
@@ -60,16 +60,16 @@
//removing nextMsgMgr entries
NextMsgBean findNextMsgBean = new NextMsgBean ();
- findNextMsgBean.setSequenceId(sequenceID);
+ findNextMsgBean.setSequenceID(sequenceID);
Collection collection = nextMsgBeanMgr.find(findNextMsgBean);
Iterator iterator = collection.iterator();
while (iterator.hasNext()) {
NextMsgBean nextMsgBean = (NextMsgBean) iterator.next();
- nextMsgBeanMgr.delete(nextMsgBean.getSequenceId());
+ nextMsgBeanMgr.delete(nextMsgBean.getSequenceID());
}
boolean inOrderInvocation = PropertyManager.getInstance().isInOrderInvocation();
- if(inOrderInvocation) {
+ if(!inOrderInvocation) {
terminateAfterInvocation(configContext,sequenceID);
}
@@ -90,18 +90,21 @@
//removing storageMap entries
InvokerBean findStorageMapBean = new InvokerBean ();
- findStorageMapBean.setSequenceId(sequenceID);
+ findStorageMapBean.setSequenceID(sequenceID);
Collection collection = storageMapBeanMgr.find(findStorageMapBean);
Iterator iterator = collection.iterator();
while (iterator.hasNext()) {
InvokerBean storageMapBean = (InvokerBean) iterator.next();
- storageMapBeanMgr.delete(storageMapBean.getKey());
+ storageMapBeanMgr.delete(storageMapBean.getMessageContextRefKey());
}
SequencePropertyBean allSequenceBean = sequencePropertyBeanMgr.retrieve(Sandesha2Constants.SequenceProperties.ALL_SEQUENCES,Sandesha2Constants.SequenceProperties.INCOMING_SEQUENCE_LIST);
- ArrayList allSequenceList = (ArrayList) allSequenceBean.getValue();
-
+ ArrayList allSequenceList = SandeshaUtil.getArrayListFromString(allSequenceBean.getValue());
allSequenceList.remove(sequenceID);
+
+ //updating
+ allSequenceBean.setValue(allSequenceList.toString());
+ sequencePropertyBeanMgr.update(allSequenceBean);
}
private static boolean isRequiredForResponseSide (String name) {
@@ -136,42 +139,42 @@
String internalSequenceId = (String) internalSequenceBean.getValue();
//removing retransmitterMgr entries
- SenderBean findRetransmitterBean = new SenderBean ();
- findRetransmitterBean.setInternalSequenceId(internalSequenceId);
- Collection collection = retransmitterBeanMgr.find(findRetransmitterBean);
+ //SenderBean findRetransmitterBean = new SenderBean ();
+ //findRetransmitterBean.setInternalSequenceID(internalSequenceId);
+ Collection collection = retransmitterBeanMgr.find(internalSequenceId);
Iterator iterator = collection.iterator();
while (iterator.hasNext()) {
SenderBean retransmitterBean = (SenderBean) iterator.next();
- retransmitterBeanMgr.delete(retransmitterBean.getMessageId());
+ retransmitterBeanMgr.delete(retransmitterBean.getMessageID());
}
//removing the createSeqMgrEntry
CreateSeqBean findCreateSequenceBean = new CreateSeqBean ();
- findCreateSequenceBean.setInternalSequenceId(internalSequenceId);
+ findCreateSequenceBean.setInternalSequenceID(internalSequenceId);
collection = createSeqBeanMgr.find(findCreateSequenceBean);
iterator = collection.iterator();
while (iterator.hasNext()) {
CreateSeqBean createSeqBean = (CreateSeqBean) iterator.next();
- createSeqBeanMgr.delete(createSeqBean.getCreateSeqMsgId());
+ createSeqBeanMgr.delete(createSeqBean.getCreateSeqMsgID());
}
//removing sequence properties
SequencePropertyBean findSequencePropertyBean1 = new SequencePropertyBean ();
- findSequencePropertyBean1.setSequenceId(internalSequenceId);
+ findSequencePropertyBean1.setSequenceID(internalSequenceId);
collection = sequencePropertyBeanMgr.find(findSequencePropertyBean1);
iterator = collection.iterator();
while (iterator.hasNext()) {
SequencePropertyBean sequencePropertyBean = (SequencePropertyBean) iterator.next();
- sequencePropertyBeanMgr.delete(sequencePropertyBean.getSequenceId(),sequencePropertyBean.getName());
+ sequencePropertyBeanMgr.delete(sequencePropertyBean.getSequenceID(),sequencePropertyBean.getName());
}
SequencePropertyBean findSequencePropertyBean2 = new SequencePropertyBean ();
- findSequencePropertyBean2.setSequenceId(internalSequenceId);
+ findSequencePropertyBean2.setSequenceID(internalSequenceId);
collection = sequencePropertyBeanMgr.find(findSequencePropertyBean2);
iterator = collection.iterator();
while (iterator.hasNext()) {
SequencePropertyBean sequencePropertyBean = (SequencePropertyBean) iterator.next();
- sequencePropertyBeanMgr.delete(sequencePropertyBean.getSequenceId(),sequencePropertyBean.getName());
+ sequencePropertyBeanMgr.delete(sequencePropertyBean.getSequenceID(),sequencePropertyBean.getName());
}
}
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=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java Tue Dec 20 18:05:00 2005
@@ -200,7 +200,8 @@
}
if (drop) {
- rmMsgContext.getMessageContext().setPausedTrue(getName());
+ //rmMsgContext.getMessageContext().pause();
+ rmMsgContext.getMessageContext().setPausedTrue(new QName (Sandesha2Constants.IN_HANDLER_NAME));
return true;
}
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=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java Tue Dec 20 18:05:00 2005
@@ -18,22 +18,23 @@
package org.apache.sandesha2.handlers;
import javax.xml.namespace.QName;
+
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.ServiceContext;
import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.Parameter;
import org.apache.axis2.engine.AxisEngine;
import org.apache.axis2.handlers.AbstractHandler;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.sandesha2.RMMsgContext;
import org.apache.sandesha2.Sandesha2ClientAPI;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
-import org.apache.sandesha2.RMMsgContext;
import org.apache.sandesha2.msgprocessors.MsgProcessor;
import org.apache.sandesha2.msgprocessors.MsgProcessorFactory;
+import org.apache.sandesha2.storage.StorageManager;
import org.apache.sandesha2.util.FaultManager;
import org.apache.sandesha2.util.MsgInitializer;
import org.apache.sandesha2.util.SandeshaUtil;
@@ -102,7 +103,10 @@
throw new AxisFault("Cant find a suitable message processor");
try {
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(rmMsgCtx.getMessageContext().getConfigurationContext());
+
msgProcessor.processMessage(rmMsgCtx);
+
} catch (SandeshaException se) {
se.printStackTrace();
throw new AxisFault("Error in processing the message");
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=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java Tue Dec 20 18:05:00 2005
@@ -41,6 +41,7 @@
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.policy.RMPolicyBean;
import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.storage.Transaction;
import org.apache.sandesha2.storage.beanmanagers.CreateSeqBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
@@ -92,6 +93,11 @@
msgCtx.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, "true");
+ StorageManager storageManager = SandeshaUtil
+ .getSandeshaStorageManager(context);
+
+ Transaction transaction = storageManager.getTransaction();
+
ServiceContext serviceContext = msgCtx.getServiceContext();
OperationContext operationContext = msgCtx.getOperationContext();
Object debug = null;
@@ -116,9 +122,6 @@
RMPolicyBean policyBean = RMPolicyManager.getPolicyBean(rmMsgCtx);
rmMsgCtx.setProperty(Sandesha2Constants.WSP.RM_POLICY_BEAN, policyBean);
- StorageManager storageManager = SandeshaUtil
- .getSandeshaStorageManager(context);
-
CreateSeqBeanMgr createSeqMgr = storageManager.getCreateSeqBeanMgr();
SequencePropertyBeanMgr seqPropMgr = storageManager
.getSequencePropretyBeanMgr();
@@ -174,6 +177,7 @@
}
+
//check if the first message
long messageNumber = getNextMsgNo(context, internalSequenceId);
@@ -233,8 +237,8 @@
incomingSequencId,
Sandesha2Constants.SequenceProperties.REPLY_TO_EPR);
if (bean != null) {
- EndpointReference acksToEPR = (EndpointReference) bean
- .getValue();
+ EndpointReference acksToEPR = new EndpointReference (bean
+ .getValue());
if (acksToEPR != null)
acksTo = (String) acksToEPR.getAddress();
}
@@ -312,7 +316,10 @@
}
//pausing the message
- msgCtx.setPausedTrue(getName());
+ //msgCtx.pause();
+ rmMsgCtx.getMessageContext().setPausedTrue(new QName (Sandesha2Constants.OUT_HANDLER_NAME));
+
+ transaction.commit();
}
public void addCreateSequenceMessage(RMMsgContext applicationRMMsg,
@@ -334,14 +341,14 @@
//Offer processing
String offeredSequenceId = offer.getIdentifer().getIdentifier();
SequencePropertyBean msgsBean = new SequencePropertyBean();
- msgsBean.setSequenceId(offeredSequenceId);
+ msgsBean.setSequenceID(offeredSequenceId);
msgsBean.setName(Sandesha2Constants.SequenceProperties.RECEIVED_MESSAGES);
msgsBean.setValue("");
SequencePropertyBean offeredSequenceBean = new SequencePropertyBean();
offeredSequenceBean
.setName(Sandesha2Constants.SequenceProperties.OFFERED_SEQUENCE);
- offeredSequenceBean.setSequenceId(internalSequenceId);
+ offeredSequenceBean.setSequenceID(internalSequenceId);
offeredSequenceBean.setValue(offeredSequenceId);
StorageManager storageManager = SandeshaUtil
@@ -380,10 +387,11 @@
String key = SandeshaUtil.storeMessageContext(createSeqRMMessage
.getMessageContext());
SenderBean createSeqEntry = new SenderBean();
- createSeqEntry.setKey(key);
+ createSeqEntry.setMessageContextRefKey(key);
createSeqEntry.setTimeToSend(System.currentTimeMillis());
- createSeqEntry.setMessageId(createSeqRMMessage.getMessageId());
+ createSeqEntry.setMessageID(createSeqRMMessage.getMessageId());
createSeqEntry.setSend(true);
+ createSeqEntry.setMessageType(Sandesha2Constants.MessageTypes.CREATE_SEQ);
retransmitterMgr.insert(createSeqEntry);
}
@@ -424,11 +432,11 @@
if (toBean == null)
throw new SandeshaException("To is null");
- EndpointReference toEPR = (EndpointReference) toBean.getValue();
+ EndpointReference toEPR = new EndpointReference (toBean.getValue());
EndpointReference replyToEPR = null;
if (replyToBean != null) {
- replyToEPR = (EndpointReference) replyToBean.getValue();
+ replyToEPR = new EndpointReference ( replyToBean.getValue());
}
if (toEPR == null || toEPR.getAddress() == null
@@ -493,7 +501,7 @@
SequencePropertyBean lastOutMsgBean = new SequencePropertyBean(
internalSequenceId,
Sandesha2Constants.SequenceProperties.LAST_OUT_MESSAGE,
- new Long(messageNumber));
+ new Long(messageNumber).toString());
sequencePropertyMgr.insert(lastOutMsgBean);
}
@@ -510,7 +518,7 @@
SequencePropertyBean lastOutMsgBean = new SequencePropertyBean(
internalSequenceId,
Sandesha2Constants.SequenceProperties.LAST_OUT_MESSAGE,
- new Long(messageNumber));
+ new Long(messageNumber).toString());
sequencePropertyMgr.insert(lastOutMsgBean);
}
}
@@ -557,17 +565,18 @@
SenderBean appMsgEntry = new SenderBean();
String key = SandeshaUtil
.storeMessageContext(rmMsg.getMessageContext());
- appMsgEntry.setKey(key);
+ appMsgEntry.setMessageContextRefKey(key);
appMsgEntry.setTimeToSend(System.currentTimeMillis());
- appMsgEntry.setMessageId(rmMsg.getMessageId());
+ appMsgEntry.setMessageID(rmMsg.getMessageId());
appMsgEntry.setMessageNumber(messageNumber);
+ appMsgEntry.setMessageType(Sandesha2Constants.MessageTypes.APPLICATION);
if (outSequenceBean == null || outSequenceBean.getValue() == null) {
appMsgEntry.setSend(false);
} else {
appMsgEntry.setSend(true);
}
- appMsgEntry.setInternalSequenceId(internalSequenceId);
+ appMsgEntry.setInternalSequenceID(internalSequenceId);
retransmitterMgr.insert(appMsgEntry);
}
@@ -586,16 +595,16 @@
boolean update = false;
if (nextMsgNoBean != null) {
update = true;
- Long nextMsgNoLng = (Long) nextMsgNoBean.getValue();
+ Long nextMsgNoLng = new Long(nextMsgNoBean.getValue());
nextMsgNo = nextMsgNoLng.longValue();
} else {
nextMsgNoBean = new SequencePropertyBean();
- nextMsgNoBean.setSequenceId(internalSequenceId);
+ nextMsgNoBean.setSequenceID(internalSequenceId);
nextMsgNoBean
.setName(Sandesha2Constants.SequenceProperties.NEXT_MESSAGE_NUMBER);
}
- nextMsgNoBean.setValue(new Long(nextMsgNo + 1));
+ nextMsgNoBean.setValue(new Long(nextMsgNo + 1).toString());
if (update)
seqPropMgr.update(nextMsgNoBean);
else
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=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java Tue Dec 20 18:05:00 2005
@@ -19,14 +19,17 @@
import java.util.Collection;
import java.util.Iterator;
+
import javax.xml.namespace.QName;
+
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.context.AbstractContext;
-import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.RMMsgContext;
+import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.storage.Transaction;
import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.SenderBean;
@@ -47,11 +50,13 @@
public void processMessage(RMMsgContext rmMsgCtx) throws SandeshaException {
+
+
SequenceAcknowledgement sequenceAck = (SequenceAcknowledgement) rmMsgCtx
.getMessagePart(Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT);
if (sequenceAck == null)
throw new SandeshaException("Sequence acknowledgement part is null");
-
+
AbstractContext context = rmMsgCtx.getContext();
if (context == null)
throw new SandeshaException("Context is null");
@@ -59,6 +64,9 @@
StorageManager storageManager = SandeshaUtil
.getSandeshaStorageManager(rmMsgCtx.getMessageContext()
.getConfigurationContext());
+
+ Transaction ackTransaction = storageManager.getTransaction();
+
SenderBeanMgr retransmitterMgr = storageManager
.getRetransmitterBeanMgr();
SequencePropertyBeanMgr seqPropMgr = storageManager
@@ -94,7 +102,9 @@
rmMsgCtx.setRelatesTo(null);
SenderBean input = new SenderBean();
- input.setInternalSequenceId(internalSequenceId);
+ input.setInternalSequenceID(internalSequenceId);
+ input.setSend(true);
+ input.setReSend(true);
Collection retransmitterEntriesOfSequence = retransmitterMgr
.find(input);
@@ -108,7 +118,7 @@
SenderBean retransmitterBean = getRetransmitterEntry(
retransmitterEntriesOfSequence, messageNo);
if (retransmitterBean != null)
- retransmitterMgr.delete(retransmitterBean.getMessageId());
+ retransmitterMgr.delete(retransmitterBean.getMessageID());
}
}
@@ -126,7 +136,7 @@
SequencePropertyBean lastOutMsgBean = seqPropMgr.retrieve(
internalSequenceId, Sandesha2Constants.SequenceProperties.LAST_OUT_MESSAGE);
if (lastOutMsgBean != null) {
- Long lastOutMsgNoLng = (Long) lastOutMsgBean.getValue();
+ Long lastOutMsgNoLng = new Long (lastOutMsgBean.getValue());
if (lastOutMsgNoLng == null)
throw new SandeshaException(
"Invalid object set for the Last Out Message");
@@ -145,10 +155,15 @@
internalSequenceId);
}
- //stopping the progress of the message further.
- rmMsgCtx.getMessageContext().setPausedTrue(
- new QName(Sandesha2Constants.IN_HANDLER_NAME));
+
}
+
+ //stopping the progress of the message further.
+ //rmMsgCtx.getMessageContext().pause();
+ rmMsgCtx.getMessageContext().setPausedTrue(new QName (Sandesha2Constants.IN_HANDLER_NAME));
+
+ ackTransaction.commit();
+
}
private SenderBean getRetransmitterEntry(Collection collection,
@@ -186,10 +201,12 @@
RMMsgContext terminateRMMessage = RMMsgCreator
.createTerminateSequenceMessage(incomingAckRMMsg, outSequenceId);
+ terminateRMMessage.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE,"true");
+
SequencePropertyBean toBean = seqPropMgr.retrieve(internalSequenceId,
Sandesha2Constants.SequenceProperties.TO_EPR);
- EndpointReference toEPR = (EndpointReference) toBean.getValue();
+ EndpointReference toEPR = new EndpointReference ( toBean.getValue());
if (toEPR == null)
throw new SandeshaException("To EPR has an invalid value");
@@ -212,7 +229,7 @@
String key = SandeshaUtil.storeMessageContext(terminateRMMessage
.getMessageContext());
SenderBean terminateBean = new SenderBean();
- terminateBean.setKey(key);
+ terminateBean.setMessageContextRefKey(key);
//Set a retransmitter lastSentTime so that terminate will be send with
// some delay.
@@ -220,7 +237,7 @@
terminateBean.setTimeToSend(System.currentTimeMillis()
+ Sandesha2Constants.TERMINATE_DELAY);
- terminateBean.setMessageId(terminateRMMessage.getMessageId());
+ terminateBean.setMessageID(terminateRMMessage.getMessageId());
terminateBean.setSend(true);
terminateBean.setReSend(false);
@@ -229,7 +246,7 @@
SequencePropertyBean terminateAdded = new SequencePropertyBean();
terminateAdded.setName(Sandesha2Constants.SequenceProperties.TERMINATE_ADDED);
- terminateAdded.setSequenceId(outSequenceId);
+ terminateAdded.setSequenceID(outSequenceId);
terminateAdded.setValue("true");
seqPropMgr.insert(terminateAdded);
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=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java Tue Dec 20 18:05:00 2005
@@ -24,33 +24,30 @@
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.context.ServiceContext;
-import org.apache.axis2.context.ServiceGroupContext;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisOperationFactory;
-import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.AxisServiceGroup;
-import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.engine.AxisEngine;
import org.apache.axis2.soap.SOAPEnvelope;
import org.apache.axis2.soap.SOAPFactory;
-import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.RMMsgContext;
+import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.policy.RMPolicyBean;
import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.storage.Transaction;
+import org.apache.sandesha2.storage.beanmanagers.InvokerBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
-import org.apache.sandesha2.storage.beanmanagers.InvokerBeanMgr;
+import org.apache.sandesha2.storage.beans.InvokerBean;
import org.apache.sandesha2.storage.beans.NextMsgBean;
import org.apache.sandesha2.storage.beans.SenderBean;
import org.apache.sandesha2.storage.beans.SequencePropertyBean;
-import org.apache.sandesha2.storage.beans.InvokerBean;
import org.apache.sandesha2.util.MsgInitializer;
import org.apache.sandesha2.util.PropertyManager;
import org.apache.sandesha2.util.RMMsgCreator;
@@ -60,7 +57,6 @@
import org.apache.sandesha2.wsrm.LastMessage;
import org.apache.sandesha2.wsrm.Sequence;
import org.apache.sandesha2.wsrm.SequenceAcknowledgement;
-import org.apache.wsdl.WSDLConstants;
/**
* Responsible for processing an incoming Application message.
@@ -93,9 +89,17 @@
return;
}
+ //RM will not rend sync responses. If sync acks are there this will be made true again later.
+ if(rmMsgCtx.getMessageContext().getOperationContext()!=null) {
+ rmMsgCtx.getMessageContext().getOperationContext().setProperty(Constants.RESPONSE_WRITTEN,Constants.VALUE_FALSE);
+ }
+
StorageManager storageManager = SandeshaUtil
.getSandeshaStorageManager(rmMsgCtx.getMessageContext()
.getConfigurationContext());
+
+ Transaction applicationMsgTransaction = storageManager.getTransaction();
+
SequencePropertyBeanMgr seqPropMgr = storageManager
.getSequencePropretyBeanMgr();
@@ -122,7 +126,8 @@
//this is a duplicate message and the invocation type is
// EXACTLY_ONCE.
- msgCtx.setPausedTrue(new QName(Sandesha2Constants.IN_HANDLER_NAME));
+ //msgCtx.pause();
+ rmMsgCtx.getMessageContext().setPausedTrue(new QName (Sandesha2Constants.IN_HANDLER_NAME));
}
@@ -151,8 +156,8 @@
boolean inOrderInvocation = PropertyManager.getInstance().isInOrderInvocation();
if (inOrderInvocation) {
//pause the message
- msgCtx.setPausedTrue(new QName(Sandesha2Constants.IN_HANDLER_NAME));
-
+ //msgCtx.pause();
+ rmMsgCtx.getMessageContext().setPausedTrue(new QName (Sandesha2Constants.IN_HANDLER_NAME));
SequencePropertyBean incomingSequenceListBean = (SequencePropertyBean) seqPropMgr
.retrieve(
Sandesha2Constants.SequenceProperties.ALL_SEQUENCES,
@@ -162,20 +167,24 @@
ArrayList incomingSequenceList = new ArrayList();
incomingSequenceListBean = new SequencePropertyBean();
incomingSequenceListBean
- .setSequenceId(Sandesha2Constants.SequenceProperties.ALL_SEQUENCES);
+ .setSequenceID(Sandesha2Constants.SequenceProperties.ALL_SEQUENCES);
incomingSequenceListBean
.setName(Sandesha2Constants.SequenceProperties.INCOMING_SEQUENCE_LIST);
- incomingSequenceListBean.setValue(incomingSequenceList);
+ incomingSequenceListBean.setValue(incomingSequenceList.toString());
seqPropMgr.insert(incomingSequenceListBean);
}
- ArrayList incomingSequenceList = (ArrayList) incomingSequenceListBean
- .getValue();
+ ArrayList incomingSequenceList = SandeshaUtil.getArrayListFromString(incomingSequenceListBean
+ .getValue());
//Adding current sequence to the incoming sequence List.
if (!incomingSequenceList.contains(sequenceId)) {
incomingSequenceList.add(sequenceId);
+
+ //saving the property.
+ incomingSequenceListBean.setValue(incomingSequenceList.toString());
+ seqPropMgr.insert(incomingSequenceListBean);
}
//saving the message.
@@ -201,22 +210,24 @@
}
}
- try {
- MessageContext requestMessage = rmMsgCtx.getMessageContext()
- .getOperationContext().getMessageContext(
- WSDLConstants.MESSAGE_LABEL_IN_VALUE);
- String requestMessageId = requestMessage.getMessageID();
- SequencePropertyBean checkResponseBean = seqPropMgr.retrieve(
- requestMessageId,
- Sandesha2Constants.SequenceProperties.CHECK_RESPONSE);
- if (checkResponseBean != null) {
- checkResponseBean.setValue(msgCtx);
- seqPropMgr.update(checkResponseBean);
- }
-
- } catch (AxisFault e) {
- throw new SandeshaException(e.getMessage());
- }
+// try {
+// MessageContext requestMessage = rmMsgCtx.getMessageContext()
+// .getOperationContext().getMessageContext(
+// WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+// String requestMessageId = requestMessage.getMessageID();
+// SequencePropertyBean checkResponseBean = seqPropMgr.retrieve(
+// requestMessageId,
+// Sandesha2Constants.SequenceProperties.CHECK_RESPONSE);
+// if (checkResponseBean != null) {
+// checkResponseBean.setValue(msgCtx);
+// seqPropMgr.update(checkResponseBean);
+// }
+//
+// } catch (AxisFault e) {
+// throw new SandeshaException(e.getMessage());
+// }
+
+ applicationMsgTransaction.commit();
}
//TODO convert following from INT to LONG
@@ -261,7 +272,7 @@
SequencePropertyBean acksToBean = seqPropMgr.retrieve(sequenceId,
Sandesha2Constants.SequenceProperties.ACKS_TO_EPR);
- EndpointReference acksTo = (EndpointReference) acksToBean.getValue();
+ EndpointReference acksTo = new EndpointReference (acksToBean.getValue());
String acksToStr = acksTo.getAddress();
if (acksToStr == null || messagesStr == null)
@@ -300,6 +311,9 @@
MessageContext ackMsgCtx = SandeshaUtil.createNewRelatedMessageContext(
rmMsgCtx, ackOperation);
+
+ ackMsgCtx.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE,"true");
+
RMMsgContext ackRMMsgCtx = MsgInitializer.initializeMessage(ackMsgCtx);
ackMsgCtx.setMessageID(SandeshaUtil.getUUID());
@@ -337,7 +351,7 @@
}
rmMsgCtx.getMessageContext().getOperationContext().setProperty(
- org.apache.axis2.Constants.RESPONSE_WRITTEN, "true");
+ org.apache.axis2.Constants.RESPONSE_WRITTEN, Constants.VALUE_TRUE);
rmMsgCtx.getMessageContext().setProperty(Sandesha2Constants.ACK_WRITTEN,
"true");
@@ -353,16 +367,16 @@
String key = SandeshaUtil.storeMessageContext(ackMsgCtx);
SenderBean ackBean = new SenderBean();
- ackBean.setKey(key);
- ackBean.setMessageId(ackMsgCtx.getMessageID());
+ ackBean.setMessageContextRefKey(key);
+ ackBean.setMessageID(ackMsgCtx.getMessageID());
ackBean.setReSend(false);
ackBean.setSend(true);
- ackBean.setMessagetype(Sandesha2Constants.MessageTypes.ACK);
+ ackBean.setMessageType(Sandesha2Constants.MessageTypes.ACK);
//the internalSequenceId value of the retransmitter Table for the
// messages related to an incoming
//sequence is the actual sequence ID
- ackBean.setInternalSequenceId(sequenceId);
+ ackBean.setInternalSequenceID(sequenceId);
RMPolicyBean policyBean = (RMPolicyBean) rmMsgCtx
.getProperty(Sandesha2Constants.WSP.RM_POLICY_BEAN);
@@ -378,14 +392,16 @@
//removing old acks.
SenderBean findBean = new SenderBean();
- findBean.setMessagetype(Sandesha2Constants.MessageTypes.ACK);
- findBean.setInternalSequenceId(sequenceId);
+ findBean.setMessageType(Sandesha2Constants.MessageTypes.ACK);
+ findBean.setInternalSequenceID(sequenceId);
+ findBean.setSend(true);
+ findBean.setReSend(false);
Collection coll = retransmitterBeanMgr.find(findBean);
Iterator it = coll.iterator();
while (it.hasNext()) {
SenderBean retransmitterBean = (SenderBean) it
.next();
- retransmitterBeanMgr.delete(retransmitterBean.getMessageId());
+ retransmitterBeanMgr.delete(retransmitterBean.getMessageID());
}
//inserting the new ack.
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=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java Tue Dec 20 18:05:00 2005
@@ -29,6 +29,7 @@
import org.apache.sandesha2.RMMsgContext;
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.storage.Transaction;
import org.apache.sandesha2.storage.beanmanagers.CreateSeqBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.CreateSeqBean;
@@ -65,12 +66,18 @@
} catch (AxisFault e) {
throw new SandeshaException(e.getMessage());
}
+
+ ConfigurationContext context = createSeqRMMsg.getMessageContext()
+ .getConfigurationContext();
+
+ StorageManager storageManager = SandeshaUtil
+ .getSandeshaStorageManager(context);
+
+ Transaction createSequenceTransaction = storageManager.getTransaction();
try {
String newSequenceId = SequenceManager
.setupNewSequence(createSeqRMMsg);
- ConfigurationContext context = createSeqRMMsg.getMessageContext()
- .getConfigurationContext();
if (newSequenceId == null)
throw new AxisFault(
"Internal error - Generated sequence id is null");
@@ -78,6 +85,8 @@
RMMsgContext createSeqResponse = RMMsgCreator
.createCreateSeqResponseMsg(createSeqRMMsg, outMessage,
newSequenceId);
+
+ createSeqResponse.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE,"true");
CreateSequenceResponse createSeqResPart = (CreateSequenceResponse) createSeqResponse
.getMessagePart(Sandesha2Constants.MessageParts.CREATE_SEQ_RESPONSE);
@@ -94,15 +103,14 @@
.getIdentifier();
String outSequenceId = offer.getIdentifer().getIdentifier();
CreateSeqBean createSeqBean = new CreateSeqBean();
- createSeqBean.setSequenceId(outSequenceId);
- createSeqBean.setInternalSequenceId(newSequenceId);
- createSeqBean.setCreateSeqMsgId(SandeshaUtil.getUUID()); //this
+ createSeqBean.setSequenceID(outSequenceId);
+ createSeqBean.setInternalSequenceID(newSequenceId);
+ createSeqBean.setCreateSeqMsgID(SandeshaUtil.getUUID()); //this
// is a
// dummy
// value.
- StorageManager storageManager = SandeshaUtil
- .getSandeshaStorageManager(context);
+
CreateSeqBeanMgr createSeqMgr = storageManager
.getCreateSeqBeanMgr();
@@ -113,7 +121,7 @@
outSequenceBean
.setName(Sandesha2Constants.SequenceProperties.OUT_SEQUENCE_ID);
outSequenceBean.setValue(outSequenceId);
- outSequenceBean.setSequenceId(newSequenceId);
+ outSequenceBean.setSequenceID(newSequenceId);
seqPropMgr.insert(outSequenceBean);
//Temp sequence id should be set for the server side.
@@ -125,7 +133,7 @@
SequencePropertyBean internalSequenceBean = new SequencePropertyBean();
internalSequenceBean
.setName(Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID);
- internalSequenceBean.setSequenceId(outSequenceId);
+ internalSequenceBean.setSequenceID(outSequenceId);
internalSequenceBean.setValue(newSequenceId);
seqPropMgr.insert(internalSequenceBean);
}
@@ -147,10 +155,10 @@
SequencePropertyBean seqPropBean = new SequencePropertyBean(
newSequenceId, Sandesha2Constants.SequenceProperties.ACKS_TO_EPR,
- acksTo);
+ acksTo.getAddress());
- StorageManager storageManager = SandeshaUtil
- .getSandeshaStorageManager(context);
+// StorageManager storageManager = SandeshaUtil
+// .getSandeshaStorageManager(context);
SequencePropertyBeanMgr seqPropMgr = storageManager
.getSequencePropretyBeanMgr();
seqPropMgr.insert(seqPropBean);
@@ -164,7 +172,15 @@
Object obj = createSeqMsg.getOperationContext().getProperty(
org.apache.axis2.Constants.RESPONSE_WRITTEN);
- if (Sandesha2Constants.WSA.NS_URI_ANONYMOUS.equals(createSeqMsg.getReplyTo()
+
+ SequencePropertyBean toBean = seqPropMgr.retrieve(newSequenceId,Sandesha2Constants.SequenceProperties.TO_EPR);
+
+ if (toBean==null)
+ throw new SandeshaException ("Internal Error: wsa:To value is not set");
+
+ EndpointReference toEPR = new EndpointReference (toBean.getValue());
+
+ if (Sandesha2Constants.WSA.NS_URI_ANONYMOUS.equals(toEPR
.getAddress())) {
createSeqMsg.getOperationContext().setProperty(
org.apache.axis2.Constants.RESPONSE_WRITTEN, "true");
@@ -176,6 +192,9 @@
throw new SandeshaException(e1.getMessage());
}
- createSeqMsg.setPausedTrue(new QName(Sandesha2Constants.IN_HANDLER_NAME));
+ //createSeqMsg.pause();
+ createSeqRMMsg.getMessageContext().setPausedTrue(new QName (Sandesha2Constants.IN_HANDLER_NAME));
+
+ createSequenceTransaction.commit();
}
}
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=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java Tue Dec 20 18:05:00 2005
@@ -21,6 +21,7 @@
import org.apache.sandesha2.RMMsgContext;
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.storage.Transaction;
import org.apache.sandesha2.storage.beanmanagers.CreateSeqBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
@@ -60,7 +61,14 @@
SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SandeshaUtil
.getSOAPVersion(createSeqResponseRMMsgCtx.getSOAPEnvelope()));
+ ConfigurationContext configCtx = createSeqResponseRMMsgCtx
+ .getMessageContext().getConfigurationContext();
+ StorageManager storageManager = SandeshaUtil
+ .getSandeshaStorageManager(configCtx);
//Processing for ack if any
+
+ Transaction ackProcessTransaction = storageManager.getTransaction();
+
SequenceAcknowledgement sequenceAck = (SequenceAcknowledgement) createSeqResponseRMMsgCtx
.getMessagePart(Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT);
if (sequenceAck != null) {
@@ -68,7 +76,13 @@
ackProcessor.processMessage(createSeqResponseRMMsgCtx);
}
+ ackProcessTransaction.commit();
+
+
//Processing the create sequence response.
+
+ Transaction createSeqResponseTransaction = storageManager.getTransaction();
+
CreateSequenceResponse createSeqResponsePart = (CreateSequenceResponse) createSeqResponseRMMsgCtx
.getMessagePart(Sandesha2Constants.MessageParts.CREATE_SEQ_RESPONSE);
if (createSeqResponsePart == null)
@@ -79,13 +93,10 @@
if (newOutSequenceId == null)
throw new SandeshaException("New sequence Id is null");
- ConfigurationContext configCtx = createSeqResponseRMMsgCtx
- .getMessageContext().getConfigurationContext();
String createSeqMsgId = createSeqResponseRMMsgCtx.getMessageContext()
.getRelatesTo().getValue();
- StorageManager storageManager = SandeshaUtil
- .getSandeshaStorageManager(configCtx);
+
SenderBeanMgr retransmitterMgr = storageManager
.getRetransmitterBeanMgr();
@@ -95,7 +106,7 @@
if (createSeqBean == null)
throw new SandeshaException("Create Sequence entry is not found");
- String internalSequenceId = createSeqBean.getInternalSequenceId();
+ String internalSequenceId = createSeqBean.getInternalSequenceID();
if (internalSequenceId == null || "".equals(internalSequenceId))
throw new SandeshaException("TempSequenceId has is not set");
@@ -111,9 +122,16 @@
SequencePropertyBean internalSequenceBean = new SequencePropertyBean(
newOutSequenceId,
Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID, internalSequenceId);
+
+
sequencePropMgr.insert(outSequenceBean);
sequencePropMgr.insert(internalSequenceBean);
+ createSeqResponseTransaction.commit();
+
+
+ Transaction offerProcessTransaction = storageManager.getTransaction();
+
//processing for accept (offer has been sent)
Accept accept = createSeqResponsePart.getAccept();
if (accept != null) {
@@ -133,28 +151,35 @@
.getEpr();
SequencePropertyBean acksToBean = new SequencePropertyBean();
acksToBean.setName(Sandesha2Constants.SequenceProperties.ACKS_TO_EPR);
- acksToBean.setSequenceId(offeredSequenceId);
- acksToBean.setValue(acksToEPR);
+ acksToBean.setSequenceID(offeredSequenceId);
+ acksToBean.setValue(acksToEPR.getAddress());
sequencePropMgr.insert(acksToBean);
NextMsgBean nextMsgBean = new NextMsgBean();
- nextMsgBean.setSequenceId(offeredSequenceId);
+ nextMsgBean.setSequenceID(offeredSequenceId);
nextMsgBean.setNextMsgNoToProcess(1);
NextMsgBeanMgr nextMsgMgr = storageManager.getNextMsgBeanMgr();
nextMsgMgr.insert(nextMsgBean);
}
+ offerProcessTransaction.commit();
+
+
+ Transaction updateAppMessagesTransaction = storageManager.getTransaction();
+
SenderBean target = new SenderBean();
- target.setInternalSequenceId(internalSequenceId);
+ target.setInternalSequenceID(internalSequenceId);
+ target.setSend(false);
+ target.setReSend(true);
Iterator iterator = retransmitterMgr.find(target).iterator();
while (iterator.hasNext()) {
SenderBean tempBean = (SenderBean) iterator.next();
//updating the application message
- String key = tempBean.getKey();
+ String key = tempBean.getMessageContextRefKey();
MessageContext applicationMsg = SandeshaUtil
.getStoredMessageContext(key);
@@ -190,11 +215,13 @@
retransmitterMgr.update(tempBean);
}
+ updateAppMessagesTransaction.commit();
+
createSeqResponseRMMsgCtx.getMessageContext().getOperationContext()
.setProperty(org.apache.axis2.Constants.RESPONSE_WRITTEN,
"false");
- createSeqResponseRMMsgCtx.getMessageContext().setPausedTrue(
- new QName(Sandesha2Constants.IN_HANDLER_NAME));
+ //createSeqResponseRMMsgCtx.getMessageContext().pause();
+ createSeqResponseRMMsgCtx.getMessageContext().setPausedTrue(new QName (Sandesha2Constants.IN_HANDLER_NAME));
}
}
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=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Tue Dec 20 18:05:00 2005
@@ -21,14 +21,12 @@
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
-import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.RMMsgContext;
+import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.TerminateManager;
import org.apache.sandesha2.storage.StorageManager;
-import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
-import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
-import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.Transaction;
import org.apache.sandesha2.util.SandeshaUtil;
import org.apache.sandesha2.wsrm.SequenceAcknowledgement;
import org.apache.sandesha2.wsrm.TerminateSequence;
@@ -65,11 +63,16 @@
ConfigurationContext context = terminateSeqMsg.getConfigurationContext();
+ StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context);
+
+ Transaction terminateTransaction = storageManager.getTransaction();
TerminateManager.terminateReceivingSide(context,sequenceId);
+ terminateTransaction.commit();
- terminateSeqMsg.setPausedTrue(new QName(Sandesha2Constants.IN_HANDLER_NAME));
+ //terminateSeqMsg.pause();
+ terminateSeqRMMSg.getMessageContext().setPausedTrue(new QName (Sandesha2Constants.IN_HANDLER_NAME));
}
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicyBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicyBean.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicyBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/policy/RMPolicyBean.java Tue Dec 20 18:05:00 2005
@@ -24,7 +24,6 @@
package org.apache.sandesha2.policy;
-import org.apache.sandesha2.Sandesha2Constants;
public class RMPolicyBean {
private long inactiveTimeoutInterval;
Added: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java?rev=358178&view=auto
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java (added)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java Tue Dec 20 18:05:00 2005
@@ -0,0 +1,31 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.sandesha2.storage;
+
+import org.apache.sandesha2.SandeshaException;
+
+/**
+ * To easily track exceptions happening in the storage area.
+ *
+ * @author Chamikara Jayalath <ch...@gmail.com>
+ */
+
+public class SandeshaStorageException extends SandeshaException {
+ public SandeshaStorageException (String message) {
+ super (message);
+ }
+}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/Transaction.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/Transaction.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/Transaction.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/Transaction.java Tue Dec 20 18:05:00 2005
@@ -25,7 +25,7 @@
*/
public interface Transaction {
-
+
public void commit ();
public void rollback ();
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/CreateSeqBeanMgr.java Tue Dec 20 18:05:00 2005
@@ -20,6 +20,7 @@
import java.sql.ResultSet;
import java.util.Collection;
+import org.apache.sandesha2.storage.SandeshaStorageException;
import org.apache.sandesha2.storage.beans.CreateSeqBean;
/**
@@ -32,15 +33,15 @@
public interface CreateSeqBeanMgr extends RMBeanManager {
- public boolean insert(CreateSeqBean bean);
+ public boolean insert(CreateSeqBean bean) throws SandeshaStorageException;
- public boolean delete(String msgId);
+ public boolean delete(String msgId) throws SandeshaStorageException;
- public CreateSeqBean retrieve(String msgId);
+ public CreateSeqBean retrieve(String msgId) throws SandeshaStorageException;
- public boolean update(CreateSeqBean bean);
+ public boolean update(CreateSeqBean bean) throws SandeshaStorageException;
- public Collection find(CreateSeqBean bean);
+ public Collection find(CreateSeqBean bean) throws SandeshaStorageException;
- public ResultSet find(String query);
+ //public ResultSet find(String query);
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/InvokerBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/InvokerBeanMgr.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/InvokerBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/InvokerBeanMgr.java Tue Dec 20 18:05:00 2005
@@ -19,6 +19,8 @@
import java.sql.ResultSet;
import java.util.Collection;
+
+import org.apache.sandesha2.storage.SandeshaStorageException;
import org.apache.sandesha2.storage.beans.InvokerBean;
/**
@@ -30,16 +32,16 @@
public interface InvokerBeanMgr extends RMBeanManager {
- public boolean insert(InvokerBean bean);
+ public boolean insert(InvokerBean bean) throws SandeshaStorageException;
- public boolean delete(String key);
+ public boolean delete(String key) throws SandeshaStorageException;
- public InvokerBean retrieve(String key);
+ public InvokerBean retrieve(String key) throws SandeshaStorageException;
- public ResultSet find(String query);
+ //public ResultSet find(String query);
- public Collection find(InvokerBean bean);
+ public Collection find(InvokerBean bean) throws SandeshaStorageException;
- public boolean update(InvokerBean bean);
+ public boolean update(InvokerBean bean) throws SandeshaStorageException;
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/NextMsgBeanMgr.java Tue Dec 20 18:05:00 2005
@@ -19,6 +19,8 @@
import java.sql.ResultSet;
import java.util.Collection;
+
+import org.apache.sandesha2.storage.SandeshaStorageException;
import org.apache.sandesha2.storage.beans.NextMsgBean;
/**
@@ -30,17 +32,17 @@
public interface NextMsgBeanMgr extends RMBeanManager {
- public boolean delete(String sequenceId);
+ public boolean delete(String sequenceId) throws SandeshaStorageException;
- public NextMsgBean retrieve(String sequenceId);
+ public NextMsgBean retrieve(String sequenceId) throws SandeshaStorageException;
- public boolean insert(NextMsgBean bean);
+ public boolean insert(NextMsgBean bean) throws SandeshaStorageException;
- public ResultSet find(String query);
+ //public ResultSet find(String query);
- public Collection find(NextMsgBean bean);
+ public Collection find(NextMsgBean bean) throws SandeshaStorageException;
- public boolean update(NextMsgBean bean);
+ public boolean update(NextMsgBean bean) throws SandeshaStorageException;
public Collection retrieveAll();
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SenderBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SenderBeanMgr.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SenderBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SenderBeanMgr.java Tue Dec 20 18:05:00 2005
@@ -20,6 +20,7 @@
import java.sql.ResultSet;
import java.util.Collection;
import org.apache.sandesha2.SandeshaException;
+import org.apache.sandesha2.storage.SandeshaStorageException;
import org.apache.sandesha2.storage.beans.SenderBean;
/**
@@ -31,18 +32,20 @@
public interface SenderBeanMgr extends RMBeanManager {
- public boolean delete(String MessageId);
+ public boolean delete(String MessageId) throws SandeshaStorageException ;
- public SenderBean retrieve(String MessageId);
+ public SenderBean retrieve(String MessageId) throws SandeshaStorageException;
- public boolean insert(SenderBean bean) throws SandeshaException;
+ public boolean insert(SenderBean bean) throws SandeshaStorageException;
- public ResultSet find(String query);
+ //public ResultSet find(String query);
- public Collection find(SenderBean bean);
+ public Collection find(SenderBean bean) throws SandeshaStorageException;
- public Collection findMsgsToSend();
+ public Collection find(String internalSequenceID) throws SandeshaStorageException;
+
+ public Collection findMsgsToSend() throws SandeshaStorageException;
- public boolean update(SenderBean bean);
+ public boolean update(SenderBean bean) throws SandeshaStorageException;
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beanmanagers/SequencePropertyBeanMgr.java Tue Dec 20 18:05:00 2005
@@ -19,6 +19,8 @@
import java.sql.ResultSet;
import java.util.Collection;
+
+import org.apache.sandesha2.storage.SandeshaStorageException;
import org.apache.sandesha2.storage.beans.SequencePropertyBean;
/**
@@ -30,16 +32,16 @@
public interface SequencePropertyBeanMgr extends RMBeanManager {
- public boolean delete(String sequenceId, String name);
+ public boolean delete(String sequenceId, String name) throws SandeshaStorageException;
- public SequencePropertyBean retrieve(String sequenceId, String name);
+ public SequencePropertyBean retrieve(String sequenceId, String name) throws SandeshaStorageException;
- public boolean insert(SequencePropertyBean bean);
+ public boolean insert(SequencePropertyBean bean) throws SandeshaStorageException;
- public ResultSet find(String query);
+ //public ResultSet find(String query);
- public Collection find(SequencePropertyBean bean);
+ public Collection find(SequencePropertyBean bean) throws SandeshaStorageException;
- public boolean update(SequencePropertyBean bean);
+ public boolean update(SequencePropertyBean bean) throws SandeshaStorageException;
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java Tue Dec 20 18:05:00 2005
@@ -25,61 +25,61 @@
* @author Sanka Samaranayaka <ss...@gmail.com>
*/
-public class CreateSeqBean implements RMBean {
+public class CreateSeqBean extends RMBean {
/**
- * Comment for <code>internalSequenceId</code>
+ * Comment for <code>internalSequenceID</code>
* This property is a unique identifier that can be used to identify the messages of a certain sequence.
* This is specially used by the sending side, since sequence id is not available in the begining.
* For the client side, indernal sequence id is a concantination of wsa:To and SEQUENCE_KEY (SEQUENCE_KEY can be set as a property).
* For the server side, this is the sequenceId of the incoming sequence.
*/
- private String internalSequenceId;
+ private String internalSequenceID;
/**
- * Comment for <code>CreateSeqMsgId</code>
+ * Comment for <code>createSeqMsgID</code>
* This is the message ID of the create sequence message.
*/
- private String CreateSeqMsgId;
+ private String createSeqMsgID;
/**
- * Comment for <code>SequenceId</code>
+ * Comment for <code>sequenceID</code>
* This is the actual Sequence ID of the sequence.
*/
- private String SequenceId;
+ private String sequenceID;
public CreateSeqBean() {
}
- public CreateSeqBean(String internalSeqId, String CreateSeqMsgId,
- String sequenceId) {
- this.internalSequenceId = internalSeqId;
- this.CreateSeqMsgId = CreateSeqMsgId;
- this.SequenceId = sequenceId;
+ public CreateSeqBean(String internalSeqID, String CreateSeqMsgID,
+ String sequenceID) {
+ this.internalSequenceID = internalSeqID;
+ this.createSeqMsgID = CreateSeqMsgID;
+ this.sequenceID = sequenceID;
}
- public String getCreateSeqMsgId() {
- return CreateSeqMsgId;
+ public String getCreateSeqMsgID() {
+ return createSeqMsgID;
}
- public void setCreateSeqMsgId(String createSeqMsgId) {
- CreateSeqMsgId = createSeqMsgId;
+ public void setCreateSeqMsgID(String createSeqMsgID) {
+ this.createSeqMsgID = createSeqMsgID;
}
- public String getSequenceId() {
- return SequenceId;
+ public String getSequenceID() {
+ return sequenceID;
}
- public void setSequenceId(String sequenceId) {
- SequenceId = sequenceId;
+ public void setSequenceID(String sequenceID) {
+ this.sequenceID = sequenceID;
}
- public String getInternalSequenceId() {
- return internalSequenceId;
+ public String getInternalSequenceID() {
+ return internalSequenceID;
}
- public void setInternalSequenceId(String internalSequenceId) {
- this.internalSequenceId = internalSequenceId;
+ public void setInternalSequenceID(String internalSequenceID) {
+ this.internalSequenceID = internalSequenceID;
}
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/InvokerBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/InvokerBean.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/InvokerBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/InvokerBean.java Tue Dec 20 18:05:00 2005
@@ -25,63 +25,64 @@
* @author Sanka Samaranayaka <ss...@gmail.com>
*/
-public class InvokerBean implements RMBean {
+public class InvokerBean extends RMBean {
/**
- * Comment for <code>Key</code>
+ * Comment for <code>messageContextRefKey</code>
*
- * This is the key that is obtained after saving a message context in a storage.
+ * This is the messageContextRefKey that is obtained after saving a message context in a storage.
*/
- private String Key;
+ private String messageContextRefKey;
/**
- * Comment for <code>MsgNo</code>
+ * Comment for <code>msgNo</code>
* The message number of the message.
*/
- private long MsgNo;
+ private long msgNo;
/**
- * Comment for <code>sequenceId</code>
+ * Comment for <code>sequenceID</code>
* The sequence ID of the sequence the message belong to.
*/
- private String sequenceId;
+ private String sequenceID;
/**
* Comment for <code>invoked</code>
* Weather the message has been invoked by the invoker.
*/
private boolean invoked = false;
+
public InvokerBean() {
}
public InvokerBean(String key, long msgNo, String sequenceId) {
- this.Key = key;
- this.MsgNo = msgNo;
- this.sequenceId = sequenceId;
+ this.messageContextRefKey = key;
+ this.msgNo = msgNo;
+ this.sequenceID = sequenceId;
}
/**
- * @return Returns the key.
+ * @return Returns the messageContextRefKey.
*/
- public String getKey() {
- return Key;
+ public String getMessageContextRefKey() {
+ return messageContextRefKey;
}
/**
- * @param key
- * The key to set.
+ * @param messageContextRefKey
+ * The messageContextRefKey to set.
*/
- public void setKey(String key) {
- Key = key;
+ public void setMessageContextRefKey(String messageContextRefKey) {
+ this.messageContextRefKey = messageContextRefKey;
}
/**
* @return Returns the msgNo.
*/
public long getMsgNo() {
- return MsgNo;
+ return msgNo;
}
/**
@@ -89,22 +90,22 @@
* The msgNo to set.
*/
public void setMsgNo(long msgNo) {
- MsgNo = msgNo;
+ this.msgNo = msgNo;
}
/**
- * @return Returns the sequenceId.
+ * @return Returns the sequenceID.
*/
- public String getSequenceId() {
- return sequenceId;
+ public String getSequenceID() {
+ return sequenceID;
}
/**
- * @param sequenceId
- * The sequenceId to set.
+ * @param sequenceID
+ * The sequenceID to set.
*/
- public void setSequenceId(String sequenceId) {
- this.sequenceId = sequenceId;
+ public void setSequenceID(String sequenceId) {
+ this.sequenceID = sequenceId;
}
public boolean isInvoked() {
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/NextMsgBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/NextMsgBean.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/NextMsgBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/NextMsgBean.java Tue Dec 20 18:05:00 2005
@@ -25,34 +25,34 @@
* @author Sanka Samaranayaka <ss...@gmail.com>
*/
-public class NextMsgBean implements RMBean {
+public class NextMsgBean extends RMBean {
/**
- * Comment for <code>SequenceId</code>
+ * Comment for <code>sequenceID</code>
* The sequenceID of the representing sequence.
*/
- private String SequenceId;
+ private String sequenceID;
/**
- * Comment for <code>NextMsgNoToProcess</code>
+ * Comment for <code>nextMsgNoToProcess</code>
* The next message to be invoked of the representing sequence.
*/
- private long NextMsgNoToProcess;
+ private long nextMsgNoToProcess;
public NextMsgBean() {
}
- public NextMsgBean(String sequenceId, long nextNsgNo) {
- this.SequenceId = sequenceId;
- this.NextMsgNoToProcess = nextNsgNo;
+ public NextMsgBean(String sequenceID, long nextNsgNo) {
+ this.sequenceID = sequenceID;
+ this.nextMsgNoToProcess = nextNsgNo;
}
/**
* @return Returns the nextMsgNoToProcess.
*/
public long getNextMsgNoToProcess() {
- return NextMsgNoToProcess;
+ return nextMsgNoToProcess;
}
/**
@@ -60,21 +60,21 @@
* The nextMsgNoToProcess to set.
*/
public void setNextMsgNoToProcess(long nextMsgNoToProcess) {
- NextMsgNoToProcess = nextMsgNoToProcess;
+ this.nextMsgNoToProcess = nextMsgNoToProcess;
}
/**
* @return Returns the sequenceId.
*/
- public String getSequenceId() {
- return SequenceId;
+ public String getSequenceID() {
+ return sequenceID;
}
/**
* @param sequenceId
* The sequenceId to set.
*/
- public void setSequenceId(String sequenceId) {
- SequenceId = sequenceId;
+ public void setSequenceID(String sequenceID) {
+ this.sequenceID = sequenceID;
}
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/RMBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/RMBean.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/RMBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/RMBean.java Tue Dec 20 18:05:00 2005
@@ -24,6 +24,16 @@
* @author Sanka Samaranayaka <ss...@gmail.com>
*/
-public interface RMBean extends Serializable {
-
+public abstract class RMBean implements Serializable {
+
+ private long id;
+
+
+ public long getId() {
+ return id;
+ }
+
+ protected void setId(long id) {
+ this.id = id;
+ }
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SenderBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SenderBean.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SenderBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SenderBean.java Tue Dec 20 18:05:00 2005
@@ -25,32 +25,32 @@
* @author Sanka Samaranayaka <ss...@gmail.com>
*/
-public class SenderBean implements RMBean {
+public class SenderBean extends RMBean {
/**
- * Comment for <code>messageId</code>
+ * Comment for <code>messageID</code>
* The message id of the representing message.
*
*/
- private String messageId;
+ private String messageID;
/**
- * Comment for <code>key</code>
+ * Comment for <code>messageContextRefKey</code>
* Key retrieved by the storage mechanism after storing the message.
*/
- private String key;
+ private String messageContextRefKey;
/**
- * Comment for <code>Send</code>
+ * Comment for <code>send</code>
* The sender will not send the message unless this property is true.
*/
- private boolean Send;
+ private boolean send;
/**
- * Comment for <code>internalSequenceId</code>
+ * Comment for <code>internalSequenceID</code>
* Please see the comment of CreateSeqBean.
*/
- private String internalSequenceId;
+ private String internalSequenceID;
/**
* Comment for <code>sentCount</code>
@@ -77,57 +77,57 @@
private long timeToSend = 0;
/**
- * Comment for <code>messagetype</code>
+ * Comment for <code>messageType</code>
* The type of the current message.
* Possible types are given in Sandesha2Constants.MessageTypes interface.
*/
- private int messagetype =0;
+ private int messageType =0;
public SenderBean() {
}
- public SenderBean(String messageId, String key,
- boolean send,long timeToSend, String internalSequenceId, long messageNumber) {
- this.messageId = messageId;
- this.key = key;
+ public SenderBean(String messageID, String key,
+ boolean send,long timeToSend, String internalSequenceID, long messageNumber) {
+ this.messageID = messageID;
+ this.messageContextRefKey = key;
//this.LastSentTime = lastSentTime;
this.timeToSend = timeToSend;
- this.Send = send;
- this.internalSequenceId = internalSequenceId;
+ this.send = send;
+ this.internalSequenceID = internalSequenceID;
this.messageNumber = messageNumber;
}
- public String getKey() {
- return key;
+ public String getMessageContextRefKey() {
+ return messageContextRefKey;
}
- public void setKey(String key) {
- this.key = key;
+ public void setMessageContextRefKey(String messageContextRefKey) {
+ this.messageContextRefKey = messageContextRefKey;
}
- public String getMessageId() {
- return messageId;
+ public String getMessageID() {
+ return messageID;
}
- public void setMessageId(String messageId) {
- this.messageId = messageId;
+ public void setMessageID(String messageID) {
+ this.messageID = messageID;
}
public boolean isSend() {
- return Send;
+ return send;
}
public void setSend(boolean send) {
- this.Send = send;
+ this.send = send;
}
- public String getInternalSequenceId() {
- return internalSequenceId;
+ public String getInternalSequenceID() {
+ return internalSequenceID;
}
- public void setInternalSequenceId(String internalSequenceId) {
- this.internalSequenceId = internalSequenceId;
+ public void setInternalSequenceID(String internalSequenceId) {
+ this.internalSequenceID = internalSequenceId;
}
public int getSentCount() {
@@ -163,11 +163,11 @@
}
- public int getMessagetype() {
- return messagetype;
+ public int getMessageType() {
+ return messageType;
}
- public void setMessagetype(int messagetype) {
- this.messagetype = messagetype;
+ public void setMessageType(int messagetype) {
+ this.messageType = messagetype;
}
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java Tue Dec 20 18:05:00 2005
@@ -24,13 +24,13 @@
* @author Sanka Samaranayaka <ss...@gmail.com>
*/
-public class SequencePropertyBean implements RMBean {
+public class SequencePropertyBean extends RMBean {
/**
- * Comment for <code>sequenceId</code>
+ * Comment for <code>sequenceID</code>
* Sequence ID of the sequence this property belong to.
*/
- private String sequenceId;
+ private String sequenceID;
/**
* Comment for <code>name</code>
@@ -42,10 +42,10 @@
* Comment for <code>value</code>
* The value of the property.
*/
- private Object value;
+ private String value;
- public SequencePropertyBean(String seqId, String propertyName, Object value) {
- this.sequenceId = seqId;
+ public SequencePropertyBean(String seqID, String propertyName, String value) {
+ this.sequenceID = seqID;
this.name = propertyName;
this.value = value;
}
@@ -62,19 +62,19 @@
this.name = name;
}
- public String getSequenceId() {
- return sequenceId;
+ public String getSequenceID() {
+ return sequenceID;
}
- public void setSequenceId(String sequenceId) {
- this.sequenceId = sequenceId;
+ public void setSequenceID(String sequenceID) {
+ this.sequenceID = sequenceID;
}
- public Object getValue() {
+ public String getValue() {
return value;
}
- public void setValue(Object value) {
+ public void setValue(String value) {
this.value = value;
}
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryCreateSeqBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryCreateSeqBeanMgr.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryCreateSeqBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryCreateSeqBeanMgr.java Tue Dec 20 18:05:00 2005
@@ -47,7 +47,7 @@
}
public boolean insert(CreateSeqBean bean) {
- table.put(bean.getCreateSeqMsgId(), bean);
+ table.put(bean.getCreateSeqMsgID(), bean);
return true;
}
@@ -63,7 +63,7 @@
if (!table.contains(bean))
return false;
- return table.put(bean.getCreateSeqMsgId(), bean) != null;
+ return table.put(bean.getCreateSeqMsgID(), bean) != null;
}
public Collection find(CreateSeqBean bean) {
@@ -79,18 +79,18 @@
boolean equal = true;
- if (bean.getCreateSeqMsgId() != null
- && !bean.getCreateSeqMsgId().equals(
- temp.getCreateSeqMsgId()))
+ if (bean.getCreateSeqMsgID() != null
+ && !bean.getCreateSeqMsgID().equals(
+ temp.getCreateSeqMsgID()))
equal = false;
- if (bean.getSequenceId() != null
- && !bean.getSequenceId().equals(temp.getSequenceId()))
+ if (bean.getSequenceID() != null
+ && !bean.getSequenceID().equals(temp.getSequenceID()))
equal = false;
- if (bean.getInternalSequenceId() != null
- && !bean.getInternalSequenceId().equals(
- temp.getInternalSequenceId()))
+ if (bean.getInternalSequenceID() != null
+ && !bean.getInternalSequenceID().equals(
+ temp.getInternalSequenceID()))
equal = false;
if (equal)
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryInvokerBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryInvokerBeanMgr.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryInvokerBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryInvokerBeanMgr.java Tue Dec 20 18:05:00 2005
@@ -45,7 +45,7 @@
}
public boolean insert(InvokerBean bean) {
- table.put(bean.getKey(), bean);
+ table.put(bean.getMessageContextRefKey(), bean);
return true;
}
@@ -70,14 +70,14 @@
temp = (InvokerBean) iterator.next();
boolean select = true;
- if (bean.getKey() != null && !bean.getKey().equals(temp.getKey()))
+ if (bean.getMessageContextRefKey() != null && !bean.getMessageContextRefKey().equals(temp.getMessageContextRefKey()))
select = false;
if (bean.getMsgNo() != 0 && bean.getMsgNo() != temp.getMsgNo())
select = false;
- if (bean.getSequenceId() != null
- && !bean.getSequenceId().equals(temp.getSequenceId()))
+ if (bean.getSequenceID() != null
+ && !bean.getSequenceID().equals(temp.getSequenceID()))
select = false;
if (select)
@@ -90,7 +90,7 @@
if (!table.contains(bean))
return false;
- return table.put(bean.getKey(), bean) != null;
+ return table.put(bean.getMessageContextRefKey(), bean) != null;
}
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryNextMsgBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryNextMsgBeanMgr.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryNextMsgBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryNextMsgBeanMgr.java Tue Dec 20 18:05:00 2005
@@ -56,7 +56,7 @@
}
public boolean insert(NextMsgBean bean) {
- table.put(bean.getSequenceId(), bean);
+ table.put(bean.getSequenceID(), bean);
return true;
}
@@ -82,8 +82,8 @@
.getNextMsgNoToProcess())
equal = false;
- if (bean.getSequenceId() != null
- && !bean.getSequenceId().equals(temp.getSequenceId()))
+ if (bean.getSequenceID() != null
+ && !bean.getSequenceID().equals(temp.getSequenceID()))
equal = false;
if (equal)
@@ -97,7 +97,7 @@
if (!table.contains(bean))
return false;
- return table.put(bean.getSequenceId(), bean) != null;
+ return table.put(bean.getSequenceID(), bean) != null;
}
public Collection retrieveAll() {
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySenderBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySenderBeanMgr.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySenderBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySenderBeanMgr.java Tue Dec 20 18:05:00 2005
@@ -26,6 +26,8 @@
import org.apache.axis2.context.AbstractContext;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
+import org.apache.sandesha2.storage.RetransmitterBeanMgrTest;
+import org.apache.sandesha2.storage.SandeshaStorageException;
import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
import org.apache.sandesha2.storage.beans.SenderBean;
@@ -55,15 +57,28 @@
return (SenderBean) table.get(MessageId);
}
- public boolean insert(SenderBean bean) throws SandeshaException {
- if (bean.getMessageId() == null)
- throw new SandeshaException("Key (MessageId) is null. Cant insert.");
- table.put(bean.getMessageId(), bean);
+ public boolean insert(SenderBean bean) throws SandeshaStorageException {
+ if (bean.getMessageID() == null)
+ throw new SandeshaStorageException("Key (MessageId) is null. Cant insert.");
+ table.put(bean.getMessageID(), bean);
return true;
}
- public ResultSet find(String query) {
- throw new UnsupportedOperationException("selectRS() is not supported");
+ public Collection find(String internalSequenceID) {
+
+ ArrayList arrayList = new ArrayList ();
+ if (internalSequenceID==null || "".equals(internalSequenceID))
+ return arrayList;
+
+ Iterator iterator = table.keySet().iterator();
+
+ while (iterator.hasNext()) {
+ SenderBean senderBean = (SenderBean) table.get(iterator.next());
+ if (internalSequenceID.equals(senderBean.getInternalSequenceID()))
+ arrayList.add(internalSequenceID);
+ }
+
+ return arrayList;
}
public Collection find(SenderBean bean) {
@@ -77,30 +92,36 @@
boolean add = true;
- if (bean.getKey() != null && !bean.getKey().equals(temp.getKey()))
+ if (bean.getMessageContextRefKey() != null && !bean.getMessageContextRefKey().equals(temp.getMessageContextRefKey()))
add = false;
if (bean.getTimeToSend() > 0
&& bean.getTimeToSend() != temp.getTimeToSend())
add = false;
- if (bean.getMessageId() != null
- && !bean.getMessageId().equals(temp.getMessageId()))
+ if (bean.getMessageID() != null
+ && !bean.getMessageID().equals(temp.getMessageID()))
add = false;
- if (bean.getInternalSequenceId() != null
- && !bean.getInternalSequenceId().equals(
- temp.getInternalSequenceId()))
+ if (bean.getInternalSequenceID() != null
+ && !bean.getInternalSequenceID().equals(
+ temp.getInternalSequenceID()))
add = false;
if (bean.getMessageNumber() > 0
&& bean.getMessageNumber() != temp.getMessageNumber())
add = false;
- if (bean.getMessagetype() != Sandesha2Constants.MessageTypes.UNKNOWN
- && bean.getMessagetype() != temp.getMessagetype())
+ if (bean.getMessageType() != Sandesha2Constants.MessageTypes.UNKNOWN
+ && bean.getMessageType() != temp.getMessageType())
+ add = false;
+
+ if (bean.isSend() != temp.isSend())
add = false;
+ if (bean.isReSend() != temp.isReSend())
+ add = false;
+
if (add)
beans.add(temp);
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySequencePropertyBeanMgr.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySequencePropertyBeanMgr.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySequencePropertyBeanMgr.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemorySequencePropertyBeanMgr.java Tue Dec 20 18:05:00 2005
@@ -54,7 +54,7 @@
}
public boolean insert(SequencePropertyBean bean) {
- table.put(bean.getSequenceId() + ":" + bean.getName(), bean);
+ table.put(bean.getSequenceID() + ":" + bean.getName(), bean);
return true;
}
@@ -76,8 +76,8 @@
boolean equal = true;
- if (bean.getSequenceId() != null
- && !bean.getSequenceId().equals(temp.getSequenceId()))
+ if (bean.getSequenceID() != null
+ && !bean.getSequenceID().equals(temp.getSequenceID()))
equal = false;
if (bean.getName() != null
@@ -104,7 +104,7 @@
}
private String getId(SequencePropertyBean bean) {
- return bean.getSequenceId() + ":" + bean.getName();
+ return bean.getSequenceID() + ":" + bean.getName();
}
}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryTransaction.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryTransaction.java?rev=358178&r1=358177&r2=358178&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryTransaction.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/storage/inmemory/InMemoryTransaction.java Tue Dec 20 18:05:00 2005
@@ -20,6 +20,9 @@
import org.apache.sandesha2.storage.Transaction;
/**
+ * This class does nothing special. Just to be consistent with the transaction
+ * based behavious of other 'Persistant' StorageManager implementations.
+ *
* @author Chamikara Jayalath <ch...@gmail.com>
* @author Sanka Samaranayaka <ss...@gmail.com>
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org