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 ga...@apache.org on 2007/02/23 14:14:30 UTC

svn commit: r510936 - in /webservices/sandesha/trunk/java/src/org/apache/sandesha2: ./ handlers/ msgprocessors/ util/

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: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org