Author: chamikara
Date: Sun Feb  5 21:29:00 2006
New Revision: 375186

URL: http://svn.apache.org/viewcvs?rev=375186&view=rev
Log:
Corrections to the transaction logic.

Modified:
    webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaException.java
    webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.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/storage/SandeshaStorageException.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/SandeshaException.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaException.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaException.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/SandeshaException.java 
Sun Feb  5 21:29:00 2006
@@ -32,4 +32,8 @@
                super (message);
        }
        
+       public SandeshaException (Exception e) {
+               super (e);
+       }
+       
 }

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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/TerminateManager.java 
Sun Feb  5 21:29:00 2006
@@ -183,9 +183,6 @@
                
                StorageManager storageManager = 
SandeshaUtil.getSandeshaStorageManager(configContext);
                
-               //TODO - remove folowing redundant transaction
-               Transaction terminateSendingTransaction = 
storageManager.getTransaction();
-               
                SequencePropertyBeanMgr sequencePropertyBeanMgr = 
storageManager.getSequencePropretyBeanMgr();
                SenderBeanMgr retransmitterBeanMgr = 
storageManager.getRetransmitterBeanMgr();
                CreateSeqBeanMgr createSeqBeanMgr = 
storageManager.getCreateSeqBeanMgr();
@@ -262,8 +259,6 @@
                                
sequencePropertyBeanMgr.delete(sequencePropertyBean.getSequenceID(),sequencePropertyBean.getName());
                        }
                }
-               
-               terminateSendingTransaction.commit();
                
                SandeshaUtil.stopSenderForTheSequence(internalSequenceId);
                

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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
 Sun Feb  5 21:29:00 2006
@@ -142,11 +142,10 @@
                                msgCtx.getAxisService().addParameter(parameter);
                }
 
-               CreateSeqBeanMgr createSeqMgr = 
storageManager.getCreateSeqBeanMgr();
                SequencePropertyBeanMgr seqPropMgr = storageManager
                                .getSequencePropretyBeanMgr();
 
-               Transaction transaction = storageManager.getTransaction();
+               //Transaction transaction = storageManager.getTransaction();
 
                boolean serverSide = msgCtx.isServerSide();
 
@@ -213,6 +212,8 @@
 
                // check if the first message
 
+               Transaction ouHandlerSetupTransaction = 
storageManager.getTransaction();
+               
                long messageNumber = getNextMsgNo(context, internalSequenceId);
 
                boolean sendCreateSequence = false;
@@ -244,10 +245,14 @@
                        // if (!serverSide && sendCreateSequence) {
                        SequenceManager.setupNewClientSequence(msgCtx, 
internalSequenceId);
                }
+               
+               ouHandlerSetupTransaction.commit();
 
                // if first message - add create sequence
                if (sendCreateSequence) {
 
+                       Transaction beginCreateSeqTransaction = 
storageManager.getTransaction();
+                       
                        SequencePropertyBean responseCreateSeqAdded = seqPropMgr
                                        .retrieve(
                                                        internalSequenceId,
@@ -314,15 +319,14 @@
                                        }
                                }
 
-                               transaction.commit();
+                               beginCreateSeqTransaction.commit();
 
                                addCreateSequenceMessage(rmMsgCtx, 
internalSequenceId, acksTo);
                        }
                }
 
                // do response processing
-               Transaction responseProcessTransaction = storageManager
-                               .getTransaction();
+
 
                SOAPEnvelope env = rmMsgCtx.getSOAPEnvelope();
                if (env == null) {
@@ -385,7 +389,7 @@
                        processResponseMessage(rmMsgCtx, internalSequenceId, 
messageNumber);
 
                }
-               responseProcessTransaction.commit();
+               
        }
 
        public void addCreateSequenceMessage(RMMsgContext applicationRMMsg,
@@ -460,7 +464,7 @@
                                .getRetransmitterBeanMgr();
 
                String key = SandeshaUtil.getUUID();
-               storageManager.storeMessageContext(key, createSeqMsg);
+               //storageManager.storeMessageContext(key, createSeqMsg);
 
                SenderBean createSeqEntry = new SenderBean();
                createSeqEntry.setMessageContextRefKey(key);
@@ -529,6 +533,9 @@
 
                StorageManager storageManager = SandeshaUtil
                                
.getSandeshaStorageManager(msg.getConfigurationContext());
+               
+               Transaction processResponseTransaction = 
storageManager.getTransaction();
+               
                SequencePropertyBeanMgr sequencePropertyMgr = storageManager
                                .getSequencePropretyBeanMgr();
 
@@ -695,7 +702,7 @@
                // String key = storageManager
                // .storeMessageContext(rmMsg.getMessageContext());
                String storageKey = SandeshaUtil.getUUID();
-               storageManager.storeMessageContext(storageKey, msg);
+               //storageManager.storeMessageContext(storageKey, msg);
 
                appMsgEntry.setMessageContextRefKey(storageKey);
 
@@ -730,6 +737,7 @@
                        
                }
 
+               processResponseTransaction.commit();
        }
 
        private long getNextMsgNo(ConfigurationContext context,

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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
 Sun Feb  5 21:29:00 2006
@@ -85,8 +85,6 @@
                                .getSequencePropretyBeanMgr();
 
 
-               //Starting transaction
-               Transaction ackTransaction = storageManager.getTransaction();
 
                Iterator ackRangeIterator = 
sequenceAck.getAcknowledgementRanges()
                                .iterator();
@@ -100,8 +98,13 @@
                }
 
                //updating the last activated time of the sequence.
-               
SequenceManager.updateLastActivatedTime(outSequenceId,rmMsgCtx.getMessageContext().getConfigurationContext());
+//             Transaction lastUpdatedTimeTransaction = 
storageManager.getTransaction();
+//             
SequenceManager.updateLastActivatedTime(outSequenceId,rmMsgCtx.getMessageContext().getConfigurationContext());
+//             lastUpdatedTimeTransaction.commit();
                
+               //Starting transaction
+               Transaction ackTransaction = storageManager.getTransaction();
+
                SequencePropertyBean internalSequenceBean = seqPropMgr.retrieve(
                                outSequenceId, 
Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID);
 
@@ -215,10 +218,10 @@
                                        lastOutMessageNo);
                        
                        if (complete) {
-                               Transaction terminateTransaction = 
storageManager.getTransaction();
+                               //Transaction terminateTransaction = 
storageManager.getTransaction();
                                addTerminateSequenceMessage(rmMsgCtx, 
outSequenceId,
                                                internalSequenceId);
-                               terminateTransaction.commit();
+                               //terminateTransaction.commit();
                        }
                }
        
@@ -248,6 +251,8 @@
                                
.getSandeshaStorageManager(incomingAckRMMsg.getMessageContext()
                                                .getConfigurationContext());
 
+               Transaction addTerminateSeqTransaction = 
storageManager.getTransaction();
+               
                SequencePropertyBeanMgr seqPropMgr = storageManager
                                .getSequencePropretyBeanMgr();
 
@@ -302,7 +307,7 @@
                terminateBean.setMessageContextRefKey(key);
 
                
-               
storageManager.storeMessageContext(key,terminateRMMessage.getMessageContext());
+               
//storageManager.storeMessageContext(key,terminateRMMessage.getMessageContext());
 
                
                //Set a retransmitter lastSentTime so that terminate will be 
send with
@@ -344,6 +349,8 @@
                
terminateRMMessage.setProperty(Sandesha2Constants.SET_SEND_TO_TRUE,Sandesha2Constants.VALUE_TRUE);
                
                terminateRMMessage.getMessageContext().setTransportOut(new 
Sandesha2TransportOutDesc ());
+               
+               addTerminateSeqTransaction.commit();
                
            AxisEngine engine = new AxisEngine 
(incomingAckRMMsg.getMessageContext().getConfigurationContext());
            try {

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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
 Sun Feb  5 21:29:00 2006
@@ -113,8 +113,7 @@
                                
.getSandeshaStorageManager(rmMsgCtx.getMessageContext()
                                                .getConfigurationContext());
 
-               Transaction updataMsgStringTransaction = storageManager
-                               .getTransaction();
+
 
                SequencePropertyBeanMgr seqPropMgr = storageManager
                                .getSequencePropretyBeanMgr();
@@ -131,8 +130,14 @@
                        throw new SandeshaException(message);
                }
 
+
+               Transaction lastUpdatedTimeTransaction = 
storageManager.getTransaction();
                //updating the last activated time of the sequence.
                SequenceManager.updateLastActivatedTime(sequenceId,configCtx);
+               lastUpdatedTimeTransaction.commit();
+               
+               Transaction updataMsgStringTransaction = storageManager
+                               .getTransaction();
                
                SequencePropertyBean msgsBean = seqPropMgr.retrieve(sequenceId,
                                
Sandesha2Constants.SequenceProperties.COMPLETED_MESSAGES);
@@ -398,7 +403,7 @@
                        String key = SandeshaUtil.getUUID();
                        
                        //dumping to the storage will be done be Sandesha2 
Transport Sender
-                       storageManager.storeMessageContext(key,ackMsgCtx);
+                       //storageManager.storeMessageContext(key,ackMsgCtx);
                        
                        SenderBean ackBean = new SenderBean();
                        ackBean.setMessageContextRefKey(key);

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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
 Sun Feb  5 21:29:00 2006
@@ -167,6 +167,13 @@
                        Object obj1 = 
createSeqMsg.getOperationContext().getProperty(
                                        
org.apache.axis2.Constants.RESPONSE_WRITTEN);
 
+                       //commiting tr. before sending the response msg.
+                       createSequenceTransaction.commit();
+                       
+                       Transaction updateLastActivatedTransaction = 
storageManager.getTransaction();
+                       
SequenceManager.updateLastActivatedTime(newSequenceId,createSeqRMMsg.getMessageContext().getConfigurationContext());
+                       updateLastActivatedTransaction.commit();
+                       
                        AxisEngine engine = new AxisEngine(context);
                        engine.send(outMessage);
 
@@ -197,6 +204,6 @@
 
                createSeqRMMsg.pause();
                
-               createSequenceTransaction.commit();
+               //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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
 Sun Feb  5 21:29:00 2006
@@ -248,9 +248,12 @@
                        storageManager.updateMessageContext(key,applicationMsg);
                }
 
+               updateAppMessagesTransaction.commit();
+               
+               Transaction lastUpdatedTimeTransaction = 
storageManager.getTransaction();
                
SequenceManager.updateLastActivatedTime(newOutSequenceId,configCtx);
+               lastUpdatedTimeTransaction.commit();
                
-               updateAppMessagesTransaction.commit();
                
                
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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
 Sun Feb  5 21:29:00 2006
@@ -87,8 +87,9 @@
                terminateReceivedTransaction.commit();
                
                Transaction terminateTransaction = 
storageManager.getTransaction();
-               
                
TerminateManager.cleanReceivingSideOnTerminateMessage(context,sequenceId);
+               terminateTransaction.commit(); 
+               
                SandeshaUtil.stopSenderForTheSequence(sequenceId);
                
                //removing an entry from the listener
@@ -104,10 +105,13 @@
 //                     log.debug(message);
 //             }
                
-               terminateTransaction.commit(); 
                
+               
+               
+               Transaction lastUpdatedTransaction = 
storageManager.getTransaction();
                SequenceManager.updateLastActivatedTime(sequenceId,context);
-
+               lastUpdatedTransaction.commit();
+               
                terminateSeqRMMsg.pause();
        }
 }

Modified: 
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=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java
 (original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/storage/SandeshaStorageException.java
 Sun Feb  5 21:29:00 2006
@@ -28,4 +28,9 @@
        public SandeshaStorageException (String message) {
                super (message);
        }
+       
+       public SandeshaStorageException (Exception e) {
+               super (e);
+       }
+       
 }

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java 
(original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/util/SequenceManager.java 
Sun Feb  5 21:29:00 2006
@@ -133,7 +133,7 @@
 //                     log.info("Counght exception when starting listner. 
Possible server side start.");
 //             }
                
-               
updateLastActivatedTime(sequenceId,createSequenceMsg.getMessageContext().getConfigurationContext());
+               
                
                return sequenceId;
        }
@@ -281,7 +281,7 @@
         */
        public static void updateLastActivatedTime (String sequenceID, 
ConfigurationContext configContext) throws SandeshaException {
                StorageManager storageManager = 
SandeshaUtil.getSandeshaStorageManager(configContext);
-               Transaction lastActivatedTransaction = 
storageManager.getTransaction();
+               //Transaction lastActivatedTransaction = 
storageManager.getTransaction();
                SequencePropertyBeanMgr sequencePropertyBeanMgr = 
storageManager.getSequencePropretyBeanMgr();
                
 //             SequencePropertyBean internalSequenceFindBean = new 
SequencePropertyBean 
(sequenceID,Sandesha2Constants.SequenceProperties.INTERNAL_SEQUENCE_ID,null);
@@ -312,7 +312,7 @@
                else
                        sequencePropertyBeanMgr.update(lastActivatedBean);
                
-               lastActivatedTransaction.commit();
+       //      lastActivatedTransaction.commit();
        }
        
        
@@ -351,13 +351,13 @@
 
                boolean sequenceTimedOut = false;
                
-               SequencePropertyBean lastActivatedBean = 
seqPropBeanMgr.retrieve(sequenceID,Sandesha2Constants.SequenceProperties.LAST_ACTIVATED_TIME);
-               if (lastActivatedBean!=null) {
-                       long lastActivatedTime = 
Long.parseLong(lastActivatedBean.getValue());
-                       long timeNow = System.currentTimeMillis();
-                       if 
(lastActivatedTime+policyBean.getInactiveTimeoutInterval()<timeNow)
-                               sequenceTimedOut = true;
-               }
+               //SequencePropertyBean lastActivatedBean = 
seqPropBeanMgr.retrieve(sequenceID,Sandesha2Constants.SequenceProperties.LAST_ACTIVATED_TIME);
+               //if (lastActivatedBean!=null) {
+               long lastActivatedTime = 
getLastActivatedTime(sequenceID,rmMsgCtx.getMessageContext().getConfigurationContext());
+               long timeNow = System.currentTimeMillis();
+               if (lastActivatedTime>0 && 
(lastActivatedTime+policyBean.getInactiveTimeoutInterval()<timeNow))
+                       sequenceTimedOut = true;
+               //}
                
                return sequenceTimedOut;
        }

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java 
(original)
+++ 
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java 
Sun Feb  5 21:29:00 2006
@@ -31,6 +31,7 @@
 import org.apache.sandesha2.SandeshaException;
 import org.apache.sandesha2.TerminateManager;
 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.SequencePropertyBeanMgr;
@@ -111,6 +112,8 @@
                                SequencePropertyBeanMgr sequencePropMgr = 
storageManager
                                                .getSequencePropretyBeanMgr();
 
+                               Transaction preInvocationTransaction = 
storageManager.getTransaction();
+                               
                                //Getting the incomingSequenceIdList
                                SequencePropertyBean allSequencesBean = 
(SequencePropertyBean) sequencePropMgr
                                                .retrieve(
@@ -121,12 +124,17 @@
 
                                ArrayList allSequencesList = 
SandeshaUtil.getArrayListFromString( allSequencesBean
                                                .getValue());
+                               
+                               preInvocationTransaction.commit();
+                               
                                Iterator allSequencesItr = 
allSequencesList.iterator();
 
                                currentIteration: while 
(allSequencesItr.hasNext()) {
 
                                        String sequenceId = (String) 
allSequencesItr.next();
 
+                                       Transaction 
sequenceInvocationTransaction = storageManager.getTransaction();
+                                       
                                        NextMsgBean nextMsgBean = 
nextMsgMgr.retrieve(sequenceId);
                                        if (nextMsgBean == null) {
 
@@ -152,14 +160,18 @@
                                                        new InvokerBean(null, 
nextMsgno, sequenceId))
                                                        .iterator();
 
+                                       sequenceInvocationTransaction.commit();
+                                       
                                        while (stMapIt.hasNext()) {
 
                                                InvokerBean stMapBean = 
(InvokerBean) stMapIt
                                                                .next();
                                                String key = 
stMapBean.getMessageContextRefKey();
 
+                                               Transaction 
invocationTransaction = storageManager.getTransaction();
                                                MessageContext msgToInvoke = 
storageManager.retrieveMessageContext(key,context);
-
+                                               invocationTransaction.commit();
+                                               
                                                RMMsgContext rmMsg = 
MsgInitializer
                                                                
.initializeMessage(msgToInvoke);
                                                Sequence seq = (Sequence) rmMsg
@@ -177,13 +189,16 @@
                                                        log.info("Invoker 
invoking a '" + SandeshaUtil.getMessageTypeString(rmMsg
                                                                                
                .getMessageType()) + "' message.");
                                                        
+                                                       Transaction 
deleteEntryTransaction = storageManager.getTransaction();
                                                        //deleting the message 
entry.
                                                        
storageMapMgr.delete(key);
+                                                       
deleteEntryTransaction.commit();
 
                                                } catch (AxisFault e) {
-                                                       throw new 
SandeshaException(e.getMessage());
+                                                       throw new 
SandeshaException(e);
                                                }
 
+                                               Transaction 
postInvocationTransaction = storageManager.getTransaction();
                                                //undating the next msg to 
invoke
                                                nextMsgno++;
                                                stMapIt = storageMapMgr
@@ -206,11 +221,14 @@
                                                                break 
currentIteration;
                                                        }
                                                }
+                                               
postInvocationTransaction.commit();
                                        }
 
+                                       Transaction updateNextMsgTransaction = 
storageManager.getTransaction();
                                        
nextMsgBean.setNextMsgNoToProcess(nextMsgno);
                                        nextMsgMgr.update(nextMsgBean);
-
+                                       updateNextMsgTransaction.commit();
+                               
                                }
                        } catch (SandeshaException e1) {
                                // TODO Auto-generated catch block

Modified: 
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java
URL: 
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java?rev=375186&r1=375185&r2=375186&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java 
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/workers/Sender.java Sun 
Feb  5 21:29:00 2006
@@ -169,7 +169,7 @@
                                                        Sequence sequence = 
(Sequence) rmMsgCtx.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
                                                        String sequenceID = 
sequence.getIdentifier().getIdentifier();
                                                        //checking weather the 
sequence has been timed out.
-                                                       boolean 
sequenceTimedOut = SequenceManager.hasSequenceTimedOut (sequenceID, rmMsgCtx);;
+                                                       boolean 
sequenceTimedOut = SequenceManager.hasSequenceTimedOut (sequenceID, rmMsgCtx);
                                                        if (sequenceTimedOut) {
                                                                //sequence has 
been timed out.
                                                                //do time out 
processing.
@@ -234,21 +234,21 @@
                                                //update or delete only if the 
object is still present.
                                                SenderBean bean1 = 
mgr.retrieve(bean.getMessageID());
                                                if (bean1 != null) {
-                                                       if (bean.isReSend())
-                                                               
mgr.update(bean);
-                                                       else
-                                                               
mgr.delete(bean.getMessageID());
+                                                       if (bean.isReSend()) {
+                                                               
bean1.setSentCount(bean.getSentCount());
+                                                               
bean1.setTimeToSend(bean.getTimeToSend());
+                                                       
+                                                               
mgr.update(bean1);
+                                                       }else 
+                                                               
mgr.delete(bean1.getMessageID());
                                                }
 
                                                postSendTransaction.commit(); 
//commiting the current
                                                                                
                  // transaction
 
-                                               Transaction 
processResponseTransaction =
-                                               storageManager.getTransaction();
                                                if (!msgCtx.isServerSide())
                                                        
checkForSyncResponses(msgCtx);
                                                                                
                
-                                               
processResponseTransaction.commit();
 
                                                Transaction 
terminateCleaningTransaction = storageManager
                                                                
.getTransaction();



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to