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 ch...@apache.org on 2006/06/14 19:30:57 UTC
svn commit: r414320 - in
/webservices/sandesha/trunk/src/org/apache/sandesha2:
handlers/SandeshaGlobalInHandler.java handlers/SandeshaInHandler.java
handlers/SandeshaOutHandler.java util/FaultManager.java
Author: chamikara
Date: Wed Jun 14 10:30:56 2006
New Revision: 414320
URL: http://svn.apache.org/viewvc?rev=414320&view=rev
Log:
Applied the patch from Gatford
Modified:
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java?rev=414320&r1=414319&r2=414320&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaGlobalInHandler.java Wed Jun 14 10:30:56 2006
@@ -58,10 +58,15 @@
public class SandeshaGlobalInHandler extends AbstractHandler {
- private static final Log log = LogFactory.getLog(SandeshaGlobalInHandler.class.getName());
+ private static final long serialVersionUID = -7187928423123306156L;
+
+ private static final Log log = LogFactory.getLog(SandeshaGlobalInHandler.class.getName());
public void invoke(MessageContext msgContext) throws AxisFault {
+ if (log.isDebugEnabled())
+ log.debug("Enter: SandeshaGlobalInHandler::msgContext, " + msgContext.getEnvelope().getHeader());
+
ConfigurationContext configContext = msgContext.getConfigurationContext();
if (configContext == null)
throw new AxisFault("Configuration context is not set");
@@ -141,6 +146,8 @@
// getting dispatched
msgContext.pause(); // TODO let this go in the
// last try
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaGlobalInHandler::msgContext");
return;
}
@@ -153,6 +160,8 @@
// RM.
boolean isRMGlobalMessage = SandeshaUtil.isRMGlobalMessage(msgContext);
if (!isRMGlobalMessage) {
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaGlobalInHandler::msgContext, !isRMGlobalMessage");
return;
}
@@ -162,6 +171,8 @@
boolean dropped = dropIfDuplicate(rmMessageContext,storageManager);
if (dropped) {
processDroppedMessage(rmMessageContext,storageManager);
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaGlobalInHandler::msgContext, dropped");
return;
}
@@ -193,6 +204,8 @@
}
String message = "Sandesha2 got an exception when processing the in message";
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaGlobalInHandler::msgContext " ,e);
throw new AxisFault (message,e);
} finally {
if (!withinTransaction && !rolebacked) {
@@ -205,11 +218,15 @@
}
}
}
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaGlobalInHandler::msgContext");
}
private boolean dropIfDuplicate(RMMsgContext rmMsgContext,StorageManager storageManager) throws SandeshaException {
+ if (log.isDebugEnabled())
+ log.debug("Enter: SandeshaGlobalInHandler::dropIfDuplicate");
- boolean drop = false;
+ boolean drop = false;
if (rmMsgContext.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
@@ -227,7 +244,7 @@
SequencePropertyBean receivedMsgsBean = seqPropMgr.retrieve(sequenceId,
Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
if (receivedMsgsBean != null) {
- String receivedMsgStr = (String) receivedMsgsBean.getValue();
+ String receivedMsgStr = receivedMsgsBean.getValue();
ArrayList msgNoArrList = SandeshaUtil.getSplittedMsgNoArraylist(receivedMsgStr);
Iterator iterator = msgNoArrList.iterator();
@@ -306,14 +323,21 @@
if (drop) {
rmMsgContext.getMessageContext().pause();
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaGlobalInHandler::dropIfDuplicate, true");
return true;
}
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaGlobalInHandler::dropIfDuplicate, false");
return false;
}
private void processDroppedMessage(RMMsgContext rmMsgContext, StorageManager storageManager) throws SandeshaException {
- if (rmMsgContext.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
+ if (log.isDebugEnabled())
+ log.debug("Enter: SandeshaGlobalInHandler::processDroppedMessage");
+
+ if (rmMsgContext.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
Sequence sequence = (Sequence) rmMsgContext.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
String sequenceId = null;
@@ -324,7 +348,7 @@
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
SequencePropertyBean receivedMsgsBean = seqPropMgr.retrieve(sequenceId,
Sandesha2Constants.SequenceProperties.SERVER_COMPLETED_MESSAGES);
- String receivedMsgStr = (String) receivedMsgsBean.getValue();
+ String receivedMsgStr = receivedMsgsBean.getValue();
ApplicationMsgProcessor ackProcessor = new ApplicationMsgProcessor();
// Even though the duplicate message is dropped, hv to send the ack
@@ -332,6 +356,8 @@
ackProcessor.sendAckIfNeeded(rmMsgContext, receivedMsgStr,storageManager);
}
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaGlobalInHandler::processDroppedMessage");
}
private void doGlobalProcessing(RMMsgContext rmMsgCtx) throws SandeshaException {
@@ -356,4 +382,4 @@
return axisFault;
}
-}
\ No newline at end of file
+}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java?rev=414320&r1=414319&r2=414320&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaInHandler.java Wed Jun 14 10:30:56 2006
@@ -46,7 +46,9 @@
public class SandeshaInHandler extends AbstractHandler {
- private static final Log log = LogFactory.getLog(SandeshaInHandler.class.getName());
+ private static final long serialVersionUID = 733210926016820857L;
+
+ private static final Log log = LogFactory.getLog(SandeshaInHandler.class.getName());
public QName getName() {
return new QName(Sandesha2Constants.IN_HANDLER_NAME);
@@ -54,6 +56,9 @@
public void invoke(MessageContext msgCtx) throws AxisFault {
+ if (log.isDebugEnabled())
+ log.debug("Enter: SandeshaInHandler::invoke, " + msgCtx.getEnvelope().getHeader());
+
ConfigurationContext context = msgCtx.getConfigurationContext();
if (context == null) {
String message = "ConfigurationContext is null";
@@ -67,7 +72,11 @@
String reinjectedMessage = (String) msgCtx.getProperty(Sandesha2Constants.REINJECTED_MESSAGE);
if (reinjectedMessage!=null && Sandesha2Constants.VALUE_TRUE.equals(reinjectedMessage))
+ {
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaInHandler::invoke, reinjectedMessage" );
return; //Reinjected messages are not processed by Sandesha2 inflow handlers
+ }
StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
@@ -113,7 +122,7 @@
msgProcessor.processInMessage(rmMsgCtx);
} catch (SandeshaException se) {
String message = "Error in processing the message";
- log.debug(message);
+ log.debug(message, se);
throw new AxisFault(message, se);
}
@@ -145,7 +154,8 @@
}
}
}
-
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaInHandler::invoke" );
}
-}
\ No newline at end of file
+}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java?rev=414320&r1=414319&r2=414320&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/handlers/SandeshaOutHandler.java Wed Jun 14 10:30:56 2006
@@ -47,9 +47,13 @@
public class SandeshaOutHandler extends AbstractHandler {
- private static final Log log = LogFactory.getLog(SandeshaOutHandler.class.getName());
+ private static final long serialVersionUID = 8261092322051924103L;
+
+ private static final Log log = LogFactory.getLog(SandeshaOutHandler.class.getName());
public void invoke(MessageContext msgCtx) throws AxisFault {
+ if (log.isDebugEnabled())
+ log.debug("Enter: SandeshaOutHandler::invoke, " + msgCtx.getEnvelope().getHeader() );
ConfigurationContext context = msgCtx.getConfigurationContext();
if (context == null) {
@@ -67,7 +71,11 @@
String DONE = (String) msgCtx.getProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE);
if (null != DONE && "true".equals(DONE))
+ {
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaOutHandler::invoke, Application processing done");
return;
+ }
msgCtx.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, "true");
StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(context,context.getAxisConfiguration());
@@ -145,9 +153,11 @@
}
}
}
+ if (log.isDebugEnabled())
+ log.debug("Exit: SandeshaOutHandler::invoke");
}
public QName getName() {
return new QName(Sandesha2Constants.OUT_HANDLER_NAME);
}
-}
\ No newline at end of file
+}
Modified: webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java?rev=414320&r1=414319&r2=414320&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java (original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/util/FaultManager.java Wed Jun 14 10:30:56 2006
@@ -38,10 +38,13 @@
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisOperationFactory;
import org.apache.axis2.util.Utils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.sandesha2.FaultData;
import org.apache.sandesha2.RMMsgContext;
import org.apache.sandesha2.Sandesha2Constants;
import org.apache.sandesha2.SandeshaException;
+import org.apache.sandesha2.msgprocessors.AcknowledgementProcessor;
import org.apache.sandesha2.storage.StorageManager;
import org.apache.sandesha2.storage.beanmanagers.CreateSeqBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.NextMsgBeanMgr;
@@ -63,6 +66,8 @@
public class FaultManager {
+ private static final Log log = LogFactory.getLog(FaultManager.class);
+
public FaultManager() {
}
@@ -75,6 +80,9 @@
*/
public RMMsgContext checkForCreateSequenceRefused(
MessageContext createSequenceMessage, StorageManager storageManager) throws SandeshaException {
+
+ if (log.isDebugEnabled())
+ log.debug("Enter: FaultManager::checkForCreateSequenceRefused");
RMMsgContext createSequenceRMMsg = MsgInitializer
.initializeMessage(createSequenceMessage);
@@ -103,9 +111,13 @@
data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
data.setReason(reason);
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::checkForCreateSequenceRefused, refused sequence");
return getFault(createSequenceRMMsg, data,createSequenceRMMsg.getAddressingNamespaceValue(),storageManager);
}
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::checkForCreateSequenceRefused");
return null;
}
@@ -117,6 +129,8 @@
* @return
*/
public RMMsgContext checkForLastMsgNumberExceeded(RMMsgContext applicationRMMessage, StorageManager storageManager) throws SandeshaException {
+ if (log.isDebugEnabled())
+ log.debug("Enter: FaultManager::checkForLastMsgNumberExceeded");
Sequence sequence = (Sequence) applicationRMMessage.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
long messageNumber = sequence.getMessageNumber().getMessageNumber();
String sequenceID = sequence.getIdentifier().getIdentifier();
@@ -147,9 +161,14 @@
faultData.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.LAST_MESSAGE_NO_EXCEEDED);
faultData.setReason(reason);
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::checkForLastMsgNumberExceeded, lastMessageNumberExceeded");
return getFault(applicationRMMessage, faultData, applicationRMMessage.getAddressingNamespaceValue(),storageManager);
- } else
- return null;
+ }
+
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::checkForLastMsgNumberExceeded");
+ return null;
}
public RMMsgContext checkForMessageNumberRoleover(
@@ -168,7 +187,8 @@
*/
public RMMsgContext checkForUnknownSequence(RMMsgContext rmMessageContext, String sequenceID, StorageManager storageManager)
throws SandeshaException {
-
+ if (log.isDebugEnabled())
+ log.debug("Enter: FaultManager::checkForUnknownSequence, " + sequenceID);
MessageContext messageContext = rmMessageContext.getMessageContext();
ConfigurationContext configCtx = messageContext.getConfigurationContext();
@@ -216,6 +236,10 @@
String rmNamespaceValue = rmMessageContext.getRMNamespaceValue();
if (!validSequence) {
+
+ if (log.isDebugEnabled())
+ log.debug("Sequence not valid " + sequenceID);
+
//Return an UnknownSequence error
int SOAPVersion = SandeshaUtil.getSOAPVersion(messageContext.getEnvelope());
@@ -237,9 +261,14 @@
data.setReason("A sequence with the given sequenceID has NOT been established");
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::checkForUnknownSequence");
+
return getFault(rmMessageContext, data,rmMessageContext.getAddressingNamespaceValue(),storageManager);
}
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::checkForUnknownSequence");
return null;
}
@@ -252,14 +281,19 @@
*/
public RMMsgContext checkForInvalidAcknowledgement(RMMsgContext ackRMMessageContext,StorageManager storageManager)
throws SandeshaException {
+ if (log.isDebugEnabled())
+ log.debug("Enter: FaultManager::checkForInvalidAcknowledgement");
//check lower<=upper
//TODO acked for not-send message
MessageContext ackMessageContext = ackRMMessageContext.getMessageContext();
- if (ackRMMessageContext.getMessageType() != Sandesha2Constants.MessageTypes.ACK)
- return null;
-
+ if (ackRMMessageContext.getMessageType() != Sandesha2Constants.MessageTypes.ACK) {
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::checkForInvalidAcknowledgement, MessageType not an ACK");
+ return null;
+ }
+
boolean invalidAck = false;
String reason = null;
SequenceAcknowledgement sequenceAcknowledgement = (SequenceAcknowledgement) ackRMMessageContext
@@ -300,14 +334,21 @@
new QName (Sandesha2Constants.WSRM_COMMON.SEQUENCE_ACK));
data.setDetail(sequenceAckElement);
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::checkForInvalidAcknowledgement, invalid ACK");
return getFault(ackRMMessageContext, data,ackRMMessageContext.getAddressingNamespaceValue(),storageManager);
}
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::checkForInvalidAcknowledgement");
return null;
}
public RMMsgContext checkForSequenceClosed ( RMMsgContext referenceRMMessage, String sequenceID, StorageManager storageManager) throws SandeshaException {
- MessageContext referenceMessage = referenceRMMessage.getMessageContext();
+ if (log.isDebugEnabled())
+ log.debug("Enter: FaultManager::checkForSequenceClosed, " + sequenceID);
+
+ MessageContext referenceMessage = referenceRMMessage.getMessageContext();
ConfigurationContext configCtx = referenceMessage.getConfigurationContext();
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
@@ -331,8 +372,13 @@
data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.SEQUENCE_CLOSED);
data.setReason(reason);
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::checkForSequenceClosed, sequence closed");
return getFault(referenceRMMessage, data, referenceRMMessage.getAddressingNamespaceValue(),storageManager);
}
+
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::checkForSequenceClosed");
return null;
}
@@ -347,6 +393,8 @@
*/
public RMMsgContext getFault(RMMsgContext referenceRMMsgContext,
FaultData data, String addressingNamespaceURI,StorageManager storageManager) throws SandeshaException {
+ if (log.isDebugEnabled())
+ log.debug("Enter: FaultManager::getFault");
try {
MessageContext referenceMessage = referenceRMMsgContext.getMessageContext();
@@ -428,14 +476,15 @@
RMMsgContext faultRMMsgCtx = MsgInitializer.initializeMessage(faultMsgContext);
+ if (log.isDebugEnabled())
+ log.debug("Exit: FaultManager::getFault");
return faultRMMsgCtx;
} catch (AxisFault e) {
throw new SandeshaException(e.getMessage());
}
-
}
-}
\ No newline at end of file
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org