Hi

How did it go for you? Did you get it working?

On Sun, Jun 28, 2009 at 4:54 PM, Claus Ibsen<[email protected]> wrote:
> On Sun, Jun 28, 2009 at 4:44 PM, CY Kan<[email protected]> wrote:
>>
>> Hi,
>>
>> Thank you for quick reply. Yes, it's to receive data files from mainframe.
>>
>> I tried the following code and had some problem encountered.
>>
>> public class MyReadyFileStrategy<T> extends
>> GenericFileProcessStrategySupport<T> {
>>
>>       �...@override
>>        public boolean begin(GenericFileOperations<T> arg0, 
>> GenericFileEndpoint<T>
>> arg1,
>>                        GenericFileExchange<T> arg2, GenericFile<T> arg3) 
>> throws Exception {
>>                super.begin(arg0, arg1, arg2, arg3);
>>
>>                List<GenericFile<T>> files = (List<GenericFile<T>>
>> arg0.listFiles();
>>                AssertNotNull( "No GenericFileOperations!", arg0 );
>>                AssertNotNull( "No files!", files );
>>                ...
>>
>> The first assert is true while the second isn't. The method listFiles()
>> returns nothing and so the existence of "completed.txt" cannot be checked.
>> Is there any problem on listFiles()?
>
> Ah if the file is polled in sub folder or the likes, you might need to
> use listFiles(folder) where folder is the same folder as where the
> actual file is.
> The path is in stored in the GenericFile.
>
>
>
>>
>> Thank you again.
>>
>>
>> Claus Ibsen-2 wrote:
>>>
>>> Hi
>>>
>>> Yeah that strategy used by good old mainframes? Easier to write a new
>>> filer rather than rename/move the actual file.
>>>
>>> Camel can do this but it would require a little additional coding as
>>> you need to implement your own process strategy.
>>> With 2.0m2 you implement you own GenericFileProcessStrategy interface.
>>>
>>> And in the begin method you use the listFiles() method on the
>>> operations to see if the "complete.txt" file is there.
>>> Return true | false depending on the file exists.
>>>
>>> In the commit operation you move the actual file and delete the
>>> complete.txt file.
>>> The operations interface have methods for that.
>>>
>>> The only issue I see is that the file consumer will log WARN if begin
>>> returns false.
>>> I think we should reduce that to DEBUG as it is a valid strategy for
>>> you. I will do that in my next commit.
>>>
>>>
>>> On Sat, Jun 27, 2009 at 12:26 PM, CY Kan<[email protected]> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I'm trying Camel 2.0-M2 and can't figure out how to realize the scenario
>>>> below:
>>>>
>>>> 1. System A exports records to a file named records.txt in an sftp server
>>>> folder.
>>>> 2. to avoid read/write concurrency issue, System A creates another file
>>>> named "completed" in the folder after records.txt is made. In other
>>>> words,
>>>> seeing "completed" means ready for file download.
>>>> 3. System B polls the sftp server folder for "completed".
>>>> 4. If "completed" is found, System B donwloads records.txt.
>>>> 5. System B archives records.txt in another folder and deletes
>>>> "completed"
>>>> after download complete.
>>>>
>>>> I think it's something like Aggregator + Filter but failed. The problem
>>>> is
>>>> the download of records.txt needs postponed until "completed" is found.
>>>> Could you suggest if Camel is good at this sort of thing or any other
>>>> idea?
>>>>
>>>> Thank you in advance.
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/SFTP-Handshake-tp24232050p24232050.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>>
>>
>> --
>> View this message in context: 
>> http://www.nabble.com/SFTP-Handshake-tp24232050p24242127.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to