camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ramon Buckland" <>
Subject Mega mega (VFS) file handler
Date Thu, 08 Jan 2009 06:01:53 GMT
Hi All,

(*back from christmas / NY  - trust you all had a great break).*

I have been thninking over the christmas break about file polling
component(s) and the use of VFS as it is in Servicemix.

My core client requirement (which I realised now as a GAP) is that a dated
ZIP and a dated TGZ file are delivered to a remove SFTP host daily.

These files need to be collected (removed), and copied locally (to
AMQ+camel) in upacked form.

To handle the ZIp and the Tgz .. TrueZip does this well. Of course, we are
aware of commons-vfs.

Now a simple (eg: camel-file-archive) component could work as follows ...

    from uri=sftp://user@host
      to uri=archive:?unpack=true
      to uri=file:///some/folder/destination/endpoint

Nice .. reversing it .. we could have the archive component act much like a
"aggregation endpoint" putting files into a ZIP or TGZ.

    from uri=sftp://user@host
      to uri=file:///some/folder/destination/endpoint

Okay, so seems logical .. now what if I we used commons-vfs instead, as the
poller and "collector"?

So commons-vfs allows us to access a ZIP (and jar) etc etc .. using
commons-vfs (quickly in my head) makes a "file" polling ZIP unpacker look
like our trusty filepoller. But it does more than that in VFS ..

Some examples of accessing a ZIP and a Jar with VFS looks like ...

   - jar:../lib/classes.jar!/META-INF/
   - zip:http://somehost/downloads/

So using VFS opens up a whole (good) can of worms. Has anybody thought about
a camel-commons-vfs component ?
If so what did you envisage ? (My requirement at the beginning of the email
can be achieved with commons-vfs if it has TrueZip Support added in.*VFS-106
I am ready to code this thing but of course there are so many paths to
choose that my head spun with many ways to solve it (my requirement top of
the email).


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message