Author: gatfora
Date: Fri Feb 23 05:14:29 2007
New Revision: 510936

URL: http://svn.apache.org/viewvc?view=rev&rev=510936
Log:
Reduce the number of RMDBean lookups, and pass where found already.  Make the 
getting of the SandeshaPolicyBean consistent.

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java 
Fri Feb 23 05:14:29 2007
@@ -136,9 +136,6 @@
                if(log.isDebugEnabled()) log.debug("Entry: 
SandeshaModule::engageNotify, " + axisDescription);
                
                SandeshaPolicyBean parentPropertyBean = 
SandeshaUtil.getPropertyBean(axisDescription.getParent());
-               if (parentPropertyBean==null) 
-                       throw new AxisFault (SandeshaMessageHelper.getMessage(
-                                       
SandeshaMessageKeys.defaultPropertyBeanNotSet));
                
                SandeshaPolicyBean axisDescPropertyBean = 
PropertyManager.loadPropertiesFromAxisDescription(axisDescription,parentPropertyBean);
                

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
 Fri Feb 23 05:14:29 2007
@@ -187,10 +187,6 @@
                        RMMsgContext rmMsgContext = 
MsgInitializer.initializeMessage(msgContext);
                        
                        SandeshaPolicyBean policyBean = 
SandeshaUtil.getPropertyBean(msgContext.getAxisOperation());
-                       if (policyBean==null) {
-                               String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.policyBeanNotFound);
-                               throw new SandeshaException (message);
-                       }
 
                        boolean inOrder= policyBean.isInOrder();
                        
@@ -218,7 +214,7 @@
                                        
                                        Object responseWritten = 
msgContext.getOperationContext().getProperty(Constants.RESPONSE_WRITTEN);
                                        if (responseWritten==null || 
!Constants.VALUE_TRUE.equals(responseWritten)) {
-                                               RMMsgContext ackRMMsgContext = 
AcknowledgementManager.generateAckMessage(rmMsgContext , sequenceId, 
storageManager, false, true);
+                                               RMMsgContext ackRMMsgContext = 
AcknowledgementManager.generateAckMessage(rmMsgContext, rmdBean, sequenceId, 
storageManager, true);
                                                
msgContext.getOperationContext().setProperty(org.apache.axis2.Constants.RESPONSE_WRITTEN,
 Constants.VALUE_TRUE);
                                                
AcknowledgementManager.sendAckNow(ackRMMsgContext);
                                        }

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
 Fri Feb 23 05:14:29 2007
@@ -174,7 +174,7 @@
 
                ackMsgCtx.setTo(acksTo);
                ackMsgCtx.setReplyTo(msgContext.getTo());
-               RMMsgCreator.addAckMessage(ackRMMsgCtx,rmdBean, sequenceId, 
storageManager);
+               RMMsgCreator.addAckMessage(ackRMMsgCtx,rmdBean, sequenceId, 
rmdBean);
                ackRMMsgCtx.getMessageContext().setServerSide(true);
 
                if (acksTo.hasAnonymousAddress()) {

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
 Fri Feb 23 05:14:29 2007
@@ -101,7 +101,7 @@
                rmdBean.setClosed(true);
                storageManager.getRMDBeanMgr().update(rmdBean);
 
-               RMMsgContext ackRMMsgCtx = 
AcknowledgementManager.generateAckMessage(rmMsgCtx , sequenceId, 
storageManager, false, true);
+               RMMsgContext ackRMMsgCtx = 
AcknowledgementManager.generateAckMessage(rmMsgCtx, rmdBean, sequenceId, 
storageManager, true);
 
                MessageContext ackMsgCtx = ackRMMsgCtx.getMessageContext();
 

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
 Fri Feb 23 05:14:29 2007
@@ -248,7 +248,7 @@
                        EndpointReference acksTo = new EndpointReference 
(bean.getAcksToEPR());
                        
                        // Send an Ack if needed.
-                       sendAckIfNeeded(sequenceId, rmMsgCtx, storageManager, 
true, acksTo.hasAnonymousAddress());                      
+                       sendAckIfNeeded(bean, sequenceId, rmMsgCtx, 
storageManager, true, acksTo.hasAnonymousAddress());                        
                        
                        result = InvocationResponse.ABORT;
                        if (log.isDebugEnabled())
@@ -316,24 +316,20 @@
                if (acksTo.hasAnonymousAddress() && backchannelFree) {
                        Object responseWritten = 
msgCtx.getOperationContext().getProperty(Constants.RESPONSE_WRITTEN);
                        if (responseWritten==null || 
!Constants.VALUE_TRUE.equals(responseWritten)) {
-                               RMMsgContext ackRMMsgContext = 
AcknowledgementManager.generateAckMessage(rmMsgCtx , sequenceId, 
storageManager,false,true);
+                               RMMsgContext ackRMMsgContext = 
AcknowledgementManager.generateAckMessage(rmMsgCtx, bean, sequenceId, 
storageManager,true);
                                
msgCtx.getOperationContext().setProperty(org.apache.axis2.Constants.RESPONSE_WRITTEN,
 Constants.VALUE_TRUE);
                                
AcknowledgementManager.sendAckNow(ackRMMsgContext);
                        }
                } else { //Scenario 2 and Scenario 3
-                       SandeshaPolicyBean policyBean = 
SandeshaUtil.getPropertyBean (msgCtx.getAxisOperation());
-                       if (policyBean==null) {
-                               String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.policyBeanNotFound);
-                               throw new SandeshaException (message);
-                       }
                        //              having a negative value for timeToSend 
will make this behave as having an infinite ack interval.
                        long timeToSend = -1;   
                        if (!acksTo.hasAnonymousAddress()) {
+                               SandeshaPolicyBean policyBean = 
SandeshaUtil.getPropertyBean (msgCtx.getAxisOperation());
                                long ackInterval = 
policyBean.getAcknowledgementInterval();
                                timeToSend = System.currentTimeMillis() + 
ackInterval;
                        }
                        
-                       RMMsgContext ackRMMsgContext = 
AcknowledgementManager.generateAckMessage(rmMsgCtx, sequenceId, 
storageManager,false,true);
+                       RMMsgContext ackRMMsgContext = 
AcknowledgementManager.generateAckMessage(rmMsgCtx, bean, sequenceId, 
storageManager,true);
 
                        AcknowledgementManager.removeAckBeanEntries(sequenceId, 
storageManager);
                        AcknowledgementManager.addAckBeanEntry(ackRMMsgContext, 
sequenceId, timeToSend, storageManager);
@@ -378,7 +374,7 @@
        }
 
 
-       private static void sendAckIfNeeded(String sequenceId, RMMsgContext 
rmMsgCtx, 
+       private void sendAckIfNeeded(RMDBean rmdBean, String sequenceId, 
RMMsgContext rmMsgCtx, 
                        StorageManager storageManager, boolean serverSide, 
boolean anonymousAcksTo)
                                        throws AxisFault {
 
@@ -386,8 +382,7 @@
                        log.debug("Enter: SequenceProcessor::sendAckIfNeeded " 
+ sequenceId);
 
                        RMMsgContext ackRMMsgCtx = 
AcknowledgementManager.generateAckMessage(
-                                       rmMsgCtx , sequenceId, storageManager,
-                                       false, serverSide);
+                                       rmMsgCtx, rmdBean, sequenceId, 
storageManager, serverSide);
 
                        if (anonymousAcksTo) {
                                
rmMsgCtx.getMessageContext().getOperationContext().

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
 Fri Feb 23 05:14:29 2007
@@ -312,8 +312,8 @@
                RMMsgContext terminateSeqResponseRMMsg = 
RMMsgCreator.createTerminateSeqResponseMsg(terminateSeqRMMsg, rmdBean);
                MessageContext outMessage = 
terminateSeqResponseRMMsg.getMessageContext();
 
-               RMMsgContext ackRMMessage = 
AcknowledgementManager.generateAckMessage(terminateSeqRMMsg, 
-                               sequenceId,     storageManager, false, true);
+               RMMsgContext ackRMMessage = 
AcknowledgementManager.generateAckMessage(terminateSeqRMMsg, rmdBean, 
+                               sequenceId,     storageManager, true);
                
                Iterator iter = 
ackRMMessage.getMessageParts(Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT);
                

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java
 Fri Feb 23 05:14:29 2007
@@ -84,10 +84,10 @@
                                RMSBean rmsBean = 
SandeshaUtil.getRMSBeanFromSequenceId(storageManager, outboundSequenceId);
                                String outboundInternalSeq = 
rmsBean.getInternalSequenceID();
                                String inboundSequenceId = 
SandeshaUtil.getServerSideIncomingSeqIdFromInternalSeqId(outboundInternalSeq);
-                               
-                               if 
(SandeshaUtil.getRMDBeanFromSequenceId(storageManager, inboundSequenceId) != 
null) {
+                               RMDBean rmdBean = 
SandeshaUtil.getRMDBeanFromSequenceId(storageManager, inboundSequenceId);
+                               if (rmdBean != null) {
                                        if(log.isDebugEnabled()) 
log.debug("Piggybacking ack for " + inboundSequenceId);
-                                       
RMMsgCreator.addAckMessage(rmMessageContext, rmsBean, inboundSequenceId, 
storageManager);
+                                       
RMMsgCreator.addAckMessage(rmMessageContext, rmsBean, inboundSequenceId, 
rmdBean);
                                }
                        }
                        if(log.isDebugEnabled()) log.debug("Exit: 
AcknowledgementManager::piggybackAcksIfPresent, anon");
@@ -179,20 +179,18 @@
        public static RMMsgContext generateAckMessage(
                        
                        RMMsgContext referenceRMMessage,
+                       RMDBean rmdBean,
                        String sequenceId,
                        StorageManager storageManager, 
-                       boolean makeResponse,
                        boolean serverSide
                        
                        ) throws AxisFault {
                
                if (log.isDebugEnabled())
-                       log.debug("Enter: 
AcknowledgementManager::generateAckMessage");
+                       log.debug("Enter: 
AcknowledgementManager::generateAckMessage " + rmdBean);
 
                MessageContext referenceMsg = 
referenceRMMessage.getMessageContext();
 
-               RMDBean rmdBean = 
SandeshaUtil.getRMDBeanFromSequenceId(storageManager, sequenceId);
-
                EndpointReference acksTo = new 
EndpointReference(rmdBean.getAcksToEPR());
 
                if (acksTo.getAddress() == null)
@@ -204,9 +202,6 @@
                                referenceMsg.getAxisService());
 
                MessageContext ackMsgCtx = 
SandeshaUtil.createNewRelatedMessageContext(referenceRMMessage, ackOperation);
-               if (makeResponse) {
-                       
ackMsgCtx.setOperationContext(referenceMsg.getOperationContext());
-               }
                
                
ackMsgCtx.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, "true");
 
@@ -229,7 +224,7 @@
                ackMsgCtx.setServerSide(serverSide);
 
                // adding the SequenceAcknowledgement part.
-               RMMsgCreator.addAckMessage(ackRMMsgCtx, rmdBean ,sequenceId, 
storageManager);
+               RMMsgCreator.addAckMessage(ackRMMsgCtx, rmdBean ,sequenceId, 
rmdBean);
 
                if (log.isDebugEnabled())
                        log.debug("Exit: 
AcknowledgementManager::generateAckMessage");

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java 
Fri Feb 23 05:14:29 2007
@@ -399,7 +399,7 @@
         * @throws SandeshaException
         */
        public static void addAckMessage(RMMsgContext applicationMsg, 
RMSequenceBean rmBean,
-                       String sequenceId, StorageManager storageManager)
+                       String sequenceId, RMDBean rmdBean)
                        throws SandeshaException {
                if(log.isDebugEnabled())
                        log.debug("Entry: RMMsgCreator::addAckMessage " + 
sequenceId);
@@ -412,8 +412,6 @@
                Identifier id = new Identifier(rmNamespaceValue);
                id.setIndentifer(sequenceId);
                sequenceAck.setIdentifier(id);
-
-               RMDBean rmdBean = 
SandeshaUtil.getRMDBeanFromSequenceId(storageManager, sequenceId);
 
                ArrayList ackRangeArrayList = 
SandeshaUtil.getAckRangeArrayList(rmdBean.getServerCompletedMessages(), 
rmNamespaceValue);
                sequenceAck.setAckRanges(ackRangeArrayList);

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java 
(original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java 
Fri Feb 23 05:14:29 2007
@@ -617,6 +617,11 @@
                                        
SandeshaMessageKeys.propertyBeanNotSet));
                
                SandeshaPolicyBean propertyBean = (SandeshaPolicyBean) 
parameter.getValue();
+               if (propertyBean==null) {
+                       String message = 
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.policyBeanNotFound);
+                       throw new SandeshaException (message);
+               }
+
                return propertyBean;
        }
 



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

Reply via email to