Hi You cannot do that, the function only supports hours.
1 month is also not a fixed value, e.g. each month varies in days. On Tue, Oct 6, 2020 at 2:23 PM Daniel Johansson <[email protected]> wrote: > > Hi Users > > When i use the file component i want to filter on files that are older then > one month and only process those files. > > I have been experimenting with: > filterFile=$simple{file:modified} < ${date:now} > and: > .filter(header("CamelFileLastModified").isLessThan("${date:now} - > $simple{header.ONE_MONTH}")) > > what i would like to do is to offset ${date:now} with one month like > > "${date:now-${header.ONE_MONTH}}" > > The documentation for simple language for 'date:' variable says: > "Command accepts offsets such as: *now-24h* or *in.header.xxx+1h* or even > *now+1h30m-100*." > https://camel.apache.org/components/2.x/languages/simple-language.html > > I have the constant ONE_MONTH with > private final long ONE_MONTH = 2592000000L; > and set the header with: > .setHeader("ONE_MONTH", constant(ONE_MONTH)) > > the only way i got it to work is with. > > from("file:historyfolder?delete=true&filterFile=$simple{file:modified} < > ${date:now - 2592000000}") > .routeId("'remove old handled files'") > .log("File is deleted: " + "file name: " + "${file:name}" + " > lastmodified: " + "${date:file:yyyy-MM-dd HH:mm:ss}"); > > But I want to get rid of that ugly long value and offset it with a constant > from a header or something similar instead. > > How can I do this? > > All the best! > > /Daniel -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2
