org.mule.routing.inbound
Class IdempotentSecureHashReceiver

java.lang.Object
  extended byorg.mule.routing.inbound.SelectiveConsumer
      extended byorg.mule.routing.inbound.IdempotentReceiver
          extended byorg.mule.routing.inbound.IdempotentSecureHashReceiver
All Implemented Interfaces:
UMOInboundRouter, UMORouter

public class IdempotentSecureHashReceiver
extends IdempotentReceiver

IdempotentSecureHashReceiver ensures that only unique messages are received by a component. 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. This implementation provides for a persistent store of message hash values via the underlying file system and is suitable in failover environments.

Version:
$Revision: 3798 $
Author:
Rich Lucente, Ross Mason

Field Summary
 
Fields inherited from class org.mule.routing.inbound.SelectiveConsumer
logger
 
Constructor Summary
IdempotentSecureHashReceiver()
           
 
Method Summary
protected  String getIdForEvent(UMOEvent event)
           
 
Methods inherited from class org.mule.routing.inbound.IdempotentReceiver
getStorePath, isDisablePersistence, isMatch, load, process, setDisablePersistence, setStorePath, storeId
 
Methods inherited from class org.mule.routing.inbound.SelectiveConsumer
getFilter, getRouterStatistics, isTransformFirst, setFilter, setRouterStatistics, setTransformFirst
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IdempotentSecureHashReceiver

public IdempotentSecureHashReceiver()
Method Detail

getIdForEvent

protected String getIdForEvent(UMOEvent event)
                        throws MessagingException
Throws:
MessagingException


Copyright © 2003-2006 MuleSource Inc.. All Rights Reserved.