org.mule.routing.inbound
Class IdempotentSecureHashReceiver

java.lang.Object
  extended by org.mule.routing.AbstractRouter
      extended by org.mule.routing.inbound.SelectiveConsumer
          extended by org.mule.routing.inbound.IdempotentReceiver
              extended by org.mule.routing.inbound.IdempotentSecureHashReceiver
All Implemented Interfaces:
MuleContextAware, Disposable, Initialisable, InboundRouter, Router

public class IdempotentSecureHashReceiver
extends IdempotentReceiver

IdempotentSecureHashReceiver 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.inbound.IdempotentReceiver
assignedComponentName, idExpression, store
 
Fields inherited from class org.mule.routing.inbound.SelectiveConsumer
logger
 
Fields inherited from class org.mule.routing.AbstractRouter
muleContext
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
IdempotentSecureHashReceiver()
           
 
Method Summary
protected  String getIdForEvent(MuleEvent event)
           
 String getMessageDigestAlgorithm()
           
 void setMessageDigestAlgorithm(String messageDigestAlgorithm)
           
 
Methods inherited from class org.mule.routing.inbound.IdempotentReceiver
createMessageIdStore, getIdExpression, getStore, initialize, isMatch, process, setIdExpression, setStore
 
Methods inherited from class org.mule.routing.inbound.SelectiveConsumer
getFilter, getMessageInfoMapping, isTransformFirst, setFilter, setMessageInfoMapping, setTransformFirst
 
Methods inherited from class org.mule.routing.AbstractRouter
dispose, getMuleContext, getRouterStatistics, initialise, setMuleContext, setRouterStatistics
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.mule.api.routing.Router
getRouterStatistics, setRouterStatistics
 
Methods inherited from interface org.mule.api.lifecycle.Initialisable
initialise
 
Methods inherited from interface org.mule.api.lifecycle.Disposable
dispose
 

Constructor Detail

IdempotentSecureHashReceiver

public IdempotentSecureHashReceiver()
Method Detail

getIdForEvent

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

getMessageDigestAlgorithm

public String getMessageDigestAlgorithm()

setMessageDigestAlgorithm

public void setMessageDigestAlgorithm(String messageDigestAlgorithm)


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.