Author: mlovett
Date: Tue Jul  3 06:57:02 2007
New Revision: 552844

URL: http://svn.apache.org/viewvc?view=rev&rev=552844
Log:
Fix an NPE when the internal sequence id is not known

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=552844&r1=552843&r2=552844
==============================================================================
--- 
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 06:57:02 2007
@@ -267,29 +267,31 @@
                                
                                // Store the Exception as a sequence property 
to enable the client to lookup the last 
                                // exception time and timestamp.
-                               
                                try
                                {
-                                       // Create a new Transaction
-                                       transaction = 
storageManager.getTransaction();
-                                       
                                        // Get the internal sequence id from 
the context
                                        String internalSequenceId = 
(String)rmMsgCtx.getProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID);
+                                       if(internalSequenceId == null) 
internalSequenceId = senderBean.getInternalSequenceID();
                                        
-                                       RMSBean bean = 
SandeshaUtil.getRMSBeanFromInternalSequenceId(storageManager, 
internalSequenceId);
-                                       
-                                       if (bean != null) {                     
                        
-                                               bean.setLastSendError(e);
-                                               
bean.setLastSendErrorTimestamp(System.currentTimeMillis());
-                                       }
-                                       
-                                       // Update the RMSBean
-                                       
storageManager.getRMSBeanMgr().update(bean);
+                                       if(internalSequenceId != null) {
+                                               // Create a new Transaction
+                                               transaction = 
storageManager.getTransaction();
+                                               
+                                               RMSBean bean = 
SandeshaUtil.getRMSBeanFromInternalSequenceId(storageManager, 
internalSequenceId);
                                        
-                                       // Commit the properties
-                                       if(transaction != null) {
-                                               transaction.commit();
-                                               transaction = null;
+                                               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)



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

Reply via email to