Author: chamikara
Date: Tue Jul  3 22:21:52 2007
New Revision: 553082

URL: http://svn.apache.org/viewvc?view=rev&rev=553082
Log:
A fix to SandeshaClientLastErrorTest. All the test cases should be passing now

Modified:
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SenderWorker.java

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SenderWorker.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SenderWorker.java?view=diff&rev=553082&r1=553081&r2=553082
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SenderWorker.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/workers/SenderWorker.java
 Tue Jul  3 22:21:52 2007
@@ -265,6 +265,8 @@
                                
                                processResponseForFaults = true;
                                
+                               recordError(e, rmMsgCtx, storageManager);
+                               
                        } catch (Exception e) {
                                String message = 
SandeshaMessageHelper.getMessage(
                                                
SandeshaMessageKeys.sendMsgError, e.toString());
@@ -272,45 +274,7 @@
                                if (log.isErrorEnabled())
                                  log.error(message, e);
                                
-                               // Store the Exception as a sequence property 
to enable the client to lookup the last 
-                               // exception time and timestamp.
-                               try
-                               {
-                                       // Get the internal sequence id from 
the context
-                                       String internalSequenceId = 
(String)rmMsgCtx.getProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID);
-                                       if(internalSequenceId == null) 
internalSequenceId = senderBean.getInternalSequenceID();
-                                       
-                                       if(internalSequenceId != null) {
-                                               // Create a new Transaction
-                                               transaction = 
storageManager.getTransaction();
-                                               
-                                               RMSBean bean = 
SandeshaUtil.getRMSBeanFromInternalSequenceId(storageManager, 
internalSequenceId);
-                                       
-                                               if (bean != null) {             
                                
-                                                       
bean.setLastSendError(e);
-                                                       
bean.setLastSendErrorTimestamp(System.currentTimeMillis());
-
-                                                       // Update the RMSBean
-                                                       
storageManager.getRMSBeanMgr().update(bean);
-                                               }
-                                               
-                                               // Commit the properties
-                                               if(transaction != null) {
-                                                       transaction.commit();
-                                                       transaction = null;
-                                               }
-                                       }
-                               }
-                               catch (Exception e1)
-                               {
-                                       if (log.isErrorEnabled())
-                                               log.error(e1);
-                               } finally {
-                                       if (transaction != null) {
-                                               transaction.rollback();
-                                               transaction = null;
-                                       }
-                               }
+                               recordError(e, rmMsgCtx, storageManager);
                                
                        }
                        // Establish the transaction for post-send processing
@@ -652,6 +616,51 @@
                }
                if (log.isDebugEnabled())
                        log.debug("Exit: SenderWorker::checkForSyncResponses");
+       }
+       
+       private void recordError (Exception e, RMMsgContext outRMMsg, 
StorageManager storageManager) throws SandeshaStorageException {
+               // Store the Exception as a sequence property to enable the 
client to lookup the last 
+               // exception time and timestamp.
+               
+               Transaction transaction = null;
+               
+               try
+               {
+                       // Get the internal sequence id from the context
+                       String internalSequenceId = 
(String)outRMMsg.getProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID);
+                       if(internalSequenceId == null) internalSequenceId = 
senderBean.getInternalSequenceID();
+                       
+                       if(internalSequenceId != null) {
+                               // Create a new Transaction
+                               transaction = storageManager.getTransaction();
+                               
+                               RMSBean bean = 
SandeshaUtil.getRMSBeanFromInternalSequenceId(storageManager, 
internalSequenceId);
+                       
+                               if (bean != null) {                             
                
+                                       bean.setLastSendError(e);
+                                       
bean.setLastSendErrorTimestamp(System.currentTimeMillis());
+
+                                       // Update the RMSBean
+                                       
storageManager.getRMSBeanMgr().update(bean);
+                               }
+                               
+                               // Commit the properties
+                               if(transaction != null) {
+                                       transaction.commit();
+                                       transaction = null;
+                               }
+                       }
+               }
+               catch (Exception e1)
+               {
+                       if (log.isErrorEnabled())
+                               log.error(e1);
+               } finally {
+                       if (transaction != null) {
+                               transaction.rollback();
+                               transaction = null;
+                       }
+               }
        }
        
 }



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

Reply via email to