Binary FilePoller Only Delivering Part of File
terrancecrow Apr 6, 2009 4:25 PMGood afternoon!
FUSE ESB seems to be only moving part of a binary file from the in directory to the out directory. For example, it's only forwarding the first 4-5Mb of a 170Mb file to the out directory.
I've installed ESB 3.3.1.16 in standalone mode (i.e., not a war) on Centos Linux 5.2 (32-bit). It's in the default location. I've created an ID called servicemix as the ID in which to run FUSE ESB, and that ID owns the entire FUSE ESB /opt/iona directory tree.
Using FUSE ESB's file-binding example as a model, I setup a binary polling component with these directories under /opt/iona/fuse-esb (fuse-esb being a symoblic link to fuse-esb-3.3.1.16):
interstell
interstell/test001-archive
interstell/test001-in
interstell/test001-out
When I place a small file in the in directory, FUSE ESB happily deposits a copy in the archive and moves the original to the test001-out directory. It does the same thing for a 2Mb file. When I try to copy a 170Mb file, though, it only copies the first 4-5Mb of the file before it just stops.
The program copying the data doesn't crash or show any error; it keeps copying. The target directory for the copy is test001-in. I've tired using scp from another Linux box (and Mac OS X box) and tried cp from the same Linux box that's running FUSE ESB. The results are the same.
I've tried varying the Period parameter, and that helps; but if the file doesn't copy within the period (or before the period kicks off a poll), the file gets cut off.
It seems to me that the problem's with the lockManager, but I'm not clear on how to make sure the default lockManager is being invoked. I found and tried to implement a variation of the suggestion in this URL, which describes how to override the default lockManager:
http://www.mail-archive.com/users@servicemix.apache.org/msg06682.html//www.mail-archive.com/users@servicemix.apache.org/msg06682.html
I didn't make my own lockManager, but I wanted to specify org.apache.servicemix.common.locks as lockManager the class; however, I get an error saying that I'm specifying an interface, not a class, so I clearly don't have the right information.
Rather than continue to flail, and in the hopes that I can't possibly be the only person to have encountered this issue despite my inability to find any similar posts after more time searching that I care to admit, I decided to post this question.
Has anyone seen this before? Am I missing something obvious?
My goal is to implement a simple file moving application as our first installation of FUSE ESB. I thought that would be a simple introduction to the configuration and management process. At least, after reading Open Source ESBs in Action, I thought this would be an easy implementation! It's turning out to be otherwise.
I appreciate any feedback anyone can provide.
Thank you!