org.mule.routing
Class IdempotentSecureHashMessageFilter

java.lang.Object
  extended by org.mule.processor.AbstractInterceptingMessageProcessorBase
      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:
AnnotatedObject, 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
flowConstruct, idExpression, store, storePrefix, valueExpression
 
Fields inherited from class org.mule.processor.AbstractFilteringMessageProcessor
onUnacceptedFlowConstruct, throwOnUnaccepted, unacceptedMessageProcessor
 
Fields inherited from class org.mule.processor.AbstractInterceptingMessageProcessorBase
logger, muleContext, next, notificationHandler
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.AnnotatedObject
PROPERTY_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, getValueExpression, getValueForEvent, initialise, isNewMessage, processNext, setFlowConstruct, setIdExpression, setStore, setStorePrefix, setValueExpression
 
Methods inherited from class org.mule.processor.AbstractFilteringMessageProcessor
filterUnacceptedException, getUnacceptedMessageProcessor, handleUnaccepted, isThrowOnUnaccepted, process, setThrowOnUnaccepted, setUnacceptedMessageProcessor
 
Methods inherited from class org.mule.processor.AbstractInterceptingMessageProcessorBase
getAnnotation, getAnnotations, getListener, getMuleContext, isEventValid, setAnnotations, setListener, setMuleContext, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mule.api.source.MessageSource
setListener
 

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-2012 MuleSoft, Inc.. All Rights Reserved.