You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ga...@apache.org on 2007/06/11 14:33:06 UTC

svn commit: r546125 - in /webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2: msgprocessors/CreateSeqMsgProcessor.java msgreceivers/RMMessageReceiver.java workers/SenderWorker.java

Author: gatfora
Date: Mon Jun 11 05:33:01 2007
New Revision: 546125

URL: http://svn.apache.org/viewvc?view=rev&rev=546125
Log:
Move Reliable messaging enabled check from CSProcessor to the RMMessageReceiver.  Tidy up code in SenderWorker when looking up RMDBean

Modified:
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
    webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java
    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/msgprocessors/CreateSeqMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java?view=diff&rev=546125&r1=546124&r2=546125
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java Mon Jun 11 05:33:01 2007
@@ -27,7 +27,6 @@
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.description.Parameter;
 import org.apache.axis2.engine.AxisEngine;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -71,17 +70,6 @@
 			log.debug("Enter: CreateSeqMsgProcessor::processInMessage");
 
 		try {
-			if (createSeqRMMsg.getMessageContext().getAxisService() != null) {
-				Parameter unreliableParam = createSeqRMMsg.getMessageContext().getAxisService().getParameter(SandeshaClientConstants.UNRELIABLE_MESSAGE);
-				if (null != unreliableParam && "true".equals(unreliableParam.getValue())) {
-					FaultManager.makeCreateSequenceRefusedFault(createSeqRMMsg, 
-							SandeshaMessageHelper.getMessage(SandeshaMessageKeys.reliableMessagingNotEnabled, createSeqRMMsg.getMessageContext().getAxisService().getName()), 
-							new Exception());
-					
-					log.debug("Exit: CreateSeqMsgProcessor::processInMessage, Service has disabled RM " + false);
-					return false;
-				}
-			}
 			
 			CreateSequence createSeqPart = (CreateSequence) createSeqRMMsg
 					.getMessagePart(Sandesha2Constants.MessageParts.CREATE_SEQ);

Modified: webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java?view=diff&rev=546125&r1=546124&r2=546125
==============================================================================
--- webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java (original)
+++ webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgreceivers/RMMessageReceiver.java Mon Jun 11 05:33:01 2007
@@ -21,17 +21,20 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.Parameter;
 import org.apache.axis2.receivers.AbstractMessageReceiver;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.client.SandeshaClientConstants;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
 import org.apache.sandesha2.i18n.SandeshaMessageKeys;
 import org.apache.sandesha2.msgprocessors.MsgProcessor;
 import org.apache.sandesha2.msgprocessors.MsgProcessorFactory;
 import org.apache.sandesha2.storage.StorageManager;
 import org.apache.sandesha2.storage.Transaction;
+import org.apache.sandesha2.util.FaultManager;
 import org.apache.sandesha2.util.MsgInitializer;
 import org.apache.sandesha2.util.SandeshaUtil;
 
@@ -65,6 +68,22 @@
 		if(msgProcessor != null) {
 			Transaction transaction = null;
 			
+			if (msgCtx.getAxisService() != null) {
+				Parameter unreliableParam = msgCtx.getAxisService().getParameter(SandeshaClientConstants.UNRELIABLE_MESSAGE);
+				if (null != unreliableParam && "true".equals(unreliableParam.getValue())) {
+					
+					if (rmMsgCtx.getMessageType() == Sandesha2Constants.MessageTypes.CREATE_SEQ)
+						FaultManager.makeCreateSequenceRefusedFault(rmMsgCtx, 
+								SandeshaMessageHelper.getMessage(SandeshaMessageKeys.reliableMessagingNotEnabled, msgCtx.getAxisService().getName()), 
+								new Exception());
+					else
+						throw new AxisFault(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.reliableMessagingNotEnabled, msgCtx.getAxisService().getName()));
+					
+					log.debug("Exit: RMMessageReceiver::receive, Service has disabled RM ");
+					return;
+				}
+			}
+
 			try {
 				ConfigurationContext context = msgCtx.getConfigurationContext();
 				StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context, context.getAxisConfiguration());				

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=546125&r1=546124&r2=546125
==============================================================================
--- 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 Mon Jun 11 05:33:01 2007
@@ -35,7 +35,6 @@
 import org.apache.sandesha2.storage.SandeshaStorageException;
 import org.apache.sandesha2.storage.StorageManager;
 import org.apache.sandesha2.storage.Transaction;
-import org.apache.sandesha2.storage.beanmanagers.RMDBeanMgr;
 import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
 import org.apache.sandesha2.storage.beans.RMDBean;
 import org.apache.sandesha2.storage.beans.RMSBean;
@@ -63,11 +62,6 @@
 	private SenderBean senderBean = null;
 	private RMMsgContext messageToSend = null;
 	private String rmVersion = null;
-	private RMDBean incomingSequenceBean = null;
-	
-	public void setIncomingSequenceBean(RMDBean incomingSequenceBean) {
-		this.incomingSequenceBean = incomingSequenceBean;
-	}
 
 	public SenderWorker (ConfigurationContext configurationContext, SenderBean senderBean, String rmVersion) {
 		this.configurationContext = configurationContext;
@@ -398,12 +392,13 @@
 		
 		// Lock the message to enable retransmission update
 		senderBean = storageManager.getSenderBeanMgr().retrieve(senderBean.getMessageID());
-		int messageType = senderBean.getMessageType();
 		
 		// Only continue if we find a SenderBean
 		if (senderBean == null)
 			return false;
 
+		int messageType = senderBean.getMessageType();
+
 		boolean continueSending = MessageRetransmissionAdjuster.adjustRetransmittion(
 				rmMsgContext, senderBean, rmMsgContext.getConfigurationContext(), storageManager);
 		if(!continueSending) return false;
@@ -482,13 +477,7 @@
 			if (inboundSequenceId==null)
 				throw new SandeshaException ("InboundSequenceID is not set for the sequence:" + id);
 			
-			RMDBean findBean = new RMDBean ();
-			findBean.setSequenceID(inboundSequenceId);
-			
-			if (incomingSequenceBean==null) {
-				RMDBeanMgr rmdMgr = storageManager.getRMDBeanMgr();
-				incomingSequenceBean = rmdMgr.findUnique(findBean);
-			}
+			RMDBean incomingSequenceBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, inboundSequenceId);
 			
 			if (incomingSequenceBean!=null) 
 				RMMsgCreator.addAckMessage(rmMsgContext, inboundSequenceId, incomingSequenceBean);



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org