org.mule.routing
Class IdempotentSecureHashMessageFilter

java.lang.Object
  extended by org.mule.processor.AbstractInterceptingMessageProcessor
      extended by org.mule.processor.AbstractFilteringMessageProcessor
          extended by org.mule.routing.IdempotentMessageFilter
              extended by org.mule.routing.IdempotentSecureHashMessageFilter
All Implemented Interfaces:
FlowConstructAware, MuleContextAware, Initialisable, InterceptingMessageProcessor, MessageProcessor, MessageSource

public class IdempotentSecureHashMessageFilter
extends IdempotentMessageFilter

IdempotentSecureHashMessageFilter ensures that only unique messages are received by a service. It does this by calculating the SHA-256 hash of the message itself. This provides a value with an infinitesimally small chance of a collision. This can be used to filter message duplicates. Please keep in mind that the hash is calculated over the entire byte array representing the message, so any leading or trailing spaces or extraneous bytes (like padding) can produce different hash values for the same semantic message content. Care should be taken to ensure that messages do not contain extraneous bytes. This class is useful when the message does not support unique identifiers.


Field Summary
 
Fields inherited from class org.mule.routing.IdempotentMessageFilter
assignedComponentName, flowConstruct, idExpression, store
 
Fields inherited from class org.mule.processor.AbstractFilteringMessageProcessor
throwOnUnaccepted, unacceptedMessageProcessor
 
Fields inherited from class org.mule.processor.AbstractInterceptingMessageProcessor
logger, muleContext, next, notificationHandler
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Constructor Summary
IdempotentSecureHashMessageFilter()
           
 
Method Summary
protected  String getIdForEvent(MuleEvent event)
           
 String getMessageDigestAlgorithm()
           
 void setMessageDigestAlgorithm(String messageDigestAlgorithm)
           
 
Methods inherited from class org.mule.routing.IdempotentMessageFilter
accept, acceptMessageForFlowConstruct, createMessageIdStore, getIdExpression, getStore, initialise, isNewMessage, processNext, setFlowConstruct, setIdExpression, setStore
 
Methods inherited from class org.mule.processor.AbstractFilteringMessageProcessor
filterUnacceptedException, getUnacceptedMessageProcessor, handleUnaccepted, isThrowOnUnaccepted, process, setThrowOnUnaccepted, setUnacceptedMessageProcessor
 
Methods inherited from class org.mule.processor.AbstractInterceptingMessageProcessor
fireNotification, getMuleContext, setListener, setMuleContext, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IdempotentSecureHashMessageFilter

public IdempotentSecureHashMessageFilter()
Method Detail

getIdForEvent

protected String getIdForEvent(MuleEvent event)
                        throws MessagingException
Overrides:
getIdForEvent in class IdempotentMessageFilter
Throws:
MessagingException

getMessageDigestAlgorithm

public String getMessageDigestAlgorithm()

setMessageDigestAlgorithm

public void setMessageDigestAlgorithm(String messageDigestAlgorithm)


Copyright © 2003-2010 MuleSoft, Inc.. All Rights Reserved.