Hi Bill, currently we do only send async in the VFS poll endpoint. It would be easy to add a flag which controls the sending mode but here comes another approach:
What if you queue the messages inside a JMS queue. If your files aren't that big, that should work fine with only little performance loss. Afterwards you could connect a number of consumers (or only 1) to that queue which polls the messages synchronously from that queue. Another solution... Chris recently added a new possibility of throttling the servicemix-file poller endpoint. I am not sure though since which version it is in the servicemix-file component. Maybe you can try this as well. Regards Lars 2009/7/22 Bill Simms <[email protected]>: > > Hello, > > I have a project requirement that needs files to be polled in an ordered > fashion and synchronously from a remote directory. I've been looking at > using servicemix-vfs (for Servicemix 4.0) because it offers so many possible > file systems. However, the one problem I've had so far is that vfs will > always send message exchanges using the asynchronous call. The fact that > multiple threads are used at the same time has lead to vfs delivering files > so quickly that it overloads receiving services and eventually consumes all > of the JVM's heap memory. So my question is this: is there a way > (presently or in planning) to force vfs to wait until a message exchange is > done before it trys to send the next exchange? I've reviewed the > VFSPollingEndpoint and related classes and it seems almost trivial to set > the endpoint to use the sendSync() method in combination with the > synchronous-bypass options of the ExecutorImpl class. Would this be a good > approach, or is there a better way? Thanks. > -- > View this message in context: > http://www.nabble.com/Synchronous-exchanges-with-servicemix-vfs-tp24613615p24613615.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > > -- http://lhein.blogspot.com
