Java FTP transfer

I need to implement the following requirement

1. Asynchronious java API that does FTP transfer

2. Limit amount of simultaneous transfers to X, which is configurable.

3. Manage incoming java API calls, so that if amount of transfers exceeds X i would keep queue of incoming requests and process them once connection is available.

4. Ability to get transfer status, while transferring through separate API call.

Note - the whole thing is stateless.

 

Basically it is a messaging scenario, but without any messaging infrastructure. Thus manuall Java/Threads implementation.

 

Questions.

1. Is there some sort of framework that can provide such funtionality (thread management)?

2. Any suggestions on how to implement this manually ?

Thanks

Comments

Try Apache Camel

I didn't worked with it but read about.

It looks very useful for your case. 

 

http://camel.apache.org

http://camel.apache.org/ftp2.html

We have done a similar project with Kettle,

It is monitoring an eMail mailbox to get notifications,

and automatically goes to SFTP to download the files,

unzip them, validate the format and send eMail notifications.

 

Maybe you can modify it to your needs.

Talk to me for more details.