Mule: cómo rastrear files no eliminables y no movibles

Tengo un directory con files que no se pueden eliminar porque los usan otras aplicaciones o tienen properties de solo lectura. Esto significa que no puedo mover ni eliminar los files, como lo hace Mule, como un sistema de seguimiento de files natural. Para procesar estos files a través de Mule una vez que llegan o cuando se actualizan sin eliminarlos / moverlos del directory original, necesito algún tipo de seguimiento personalizado. Para hacer esto, creo que necesito agregar algunas reglas y ser capaz de rastrear files que son:

  • Nuevos files
  • Archivos procesados
  • Archivos actualizados

Para esto, pensé en tener un file de logging en el mismo directory que seguiría cada file por nombre y date de modificación, pero no estoy seguro de si esta es la forma correcta de hacerlo. Tendría que poder escribir y leer este file de logging y comparar su contenido con los files actuales en el directory para determinar qué files son nuevos o actualizados. Esto parece ser demasiado complicado y requiere que agregue un poco de progtwigción (tal vez como scripts maravillosos o anulando algunos methods).

¿Hay alguna otra manera más simple de hacer esto en Mule? Si no, ¿cómo debería comenzar a abordar este problema? Supongo que puedo escribir algo de Java para hablar con File EndPoint.

Como señaló Victor Romero, Idempotent Filter hace el truco. Probé dos types de filters Idempotent para ver cuál funciona mejor: filter de posts de Idempotent y filter de posts de hash Secure Idempotent . Ambos hicieron el trabajo, sin embargo terminé usando el filter de posts de Idempotent (sin hash) para registrar la timestamp y el nombre de file en el file de text simple-store.

Justo después del punto final de input del file:

<idempotent-message-filter idExpression="#[message.inboundProperties.originalFilename+'-'+message.inboundProperties.timestamp]" storePrefix="prefix" doc:name="Idempotent Message"> <simple-text-file-store name="uniqueProcessedMessages" directory="C:\yourDirectory"/> </idempotent-message-filter> 

Solo los files nuevos o modificados a los efectos de mi process se pasarán. Sin embargo, el filter de posts Secure Hash de Idempotent debería hacer un mejor trabajo al identificar diferentes files.