camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: FileComponent Camel 2.2
Date Wed, 07 Apr 2010 12:10:17 GMT
Hi

I recon there is something in all you code that messes up the Camel headers.
You could just try a very simple route to see if it can pickup the
files and just move them to .camel

Here is output from my test

/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home/bin/java
-Dfile.encoding=MacRoman -classpath /Applications/IntelliJ IDEA 9.0
CE.app/plugins/junit/lib/junit-rt.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/deploy.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/dt.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/plugin.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/sa-jdi.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jconsole.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/apple_provider.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/dnsns.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/localedata.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/sunjce_provider.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/sunpkcs11.jar:/workspace/camel/camel-core/target/test-classes:/workspace/camel/camel-core/target/classes:/Users/davsclaus/.m2/repository/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar:/Users/davsclaus/.m2/repository/org/fusesource/commonman/commons-management/1.0/commons-management-1.0.jar:/Users/davsclaus/.m2/repository/org/springframework/spring-context/2.5.6/spring-context-2.5.6.jar:/Users/davsclaus/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:/Users/davsclaus/.m2/repository/junit/junit/3.8.2/junit-3.8.2.jar:/Users/davsclaus/.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar:/Users/davsclaus/.m2/repository/org/springframework/spring-aop/2.5.6/spring-aop-2.5.6.jar:/Users/davsclaus/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/davsclaus/.m2/repository/org/springframework/spring-beans/2.5.6/spring-beans-2.5.6.jar:/Users/davsclaus/.m2/repository/org/springframework/spring-core/2.5.6/spring-core-2.5.6.jar:/Users/davsclaus/.m2/repository/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar:/Users/davsclaus/.m2/repository/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar:/Users/davsclaus/.m2/repository/javax/activation/activation/1.1/activation-1.1.jar:/Users/davsclaus/.m2/repository/com/sun/xml/bind/jaxb-impl/2.1.12/jaxb-impl-2.1.12.jar:/Applications/IntelliJ
IDEA 9.0 CE.app/lib/idea_rt.jar
com.intellij.rt.execution.junit.JUnitStarter -ideVersion5
org.apache.camel.component.file.FileAbsoluteMoveDefaultIssueTest
2010-04-07 14:08:20,460 [main           ] INFO  DefaultCamelContext
        - Apache Camel  (CamelContext: camel-1) is starting
2010-04-07 14:08:20,461 [main           ] INFO  DefaultCamelContext
        - JMX is disabled. Using DefaultManagementStrategy.
2010-04-07 14:08:20,902 [main           ] INFO  DefaultCamelContext
        - Route: route1 started and consuming from:
Endpoint[file:///opt/feeds/ebook/in?include=.*%5C.txt&sortBy=file%3Aname]
2010-04-07 14:08:20,903 [main           ] INFO  DefaultCamelContext
        - Started 1 routes
2010-04-07 14:08:20,904 [main           ] INFO  DefaultCamelContext
        - Apache Camel  (CamelContext: camel-1) started
2010-04-07 14:08:20,936 [main           ] INFO  MockEndpoint
        - Asserting: Endpoint[mock://result] is satisfied
2010-04-07 14:08:21,917 [tBy=file%3Aname] INFO  foo
        - Exchange[Id:152d5d0c-f13d-443c-a39b-022c67baa5bb,
ExchangePattern:InOnly, Properties:{CamelBatchComplete=true,
CamelToEndpoint=log://foo?showAll=true, CamelBatchSize=1,
CamelFileLock=/opt/feeds/ebook/in/hello.txt.camelLock,
CamelBatchIndex=0,
CamelFileExchangeFile=GenericFile[/opt/feeds/ebook/in/hello.txt],
CamelFileLockName=/opt/feeds/ebook/in/hello.txt.camelLock},
Headers:{FILE_ID=hello, CamelFileLastModified=Wed Apr 07 14:08:20 CEST
2010, CamelFileRelativePath=/opt/feeds/ebook/in/hello.txt,
CamelFileAbsolute=true, CamelFileNameOnly=hello.txt,
CamelFilePath=/opt/feeds/ebook/in/hello.txt, CamelFileName=hello.txt,
CamelFileParent=/opt/feeds/ebook/in, CamelFileLength=11,
CamelFileAbsolutePath=/opt/feeds/ebook/in/hello.txt}, BodyType:String,
Body:Hello World, Out: null]
2010-04-07 14:08:21,924 [tBy=file%3Aname] TRACE GenericFile
        - Changing name to: /opt/feeds/ebook/in/.camel/hello.txt
2010-04-07 14:08:21,924 [main           ] INFO  DefaultCamelContext
        - Apache Camel  (CamelContext:camel-1) is shutting down
2010-04-07 14:08:21,929 [tBy=file%3Aname] TRACE GenericFile
        - Normalized endpointPath: /opt/feeds/ebook/in
2010-04-07 14:08:21,930 [tBy=file%3Aname] TRACE GenericFile
        - Normalized newFileName: /opt/feeds/ebook/in/.camel/hello.txt
2010-04-07 14:08:21,929 [main           ] INFO
DefaultShutdownStrategy        - Starting to graceful shutdown 1
routes (timeout 10 seconds)
2010-04-07 14:08:21,930 [tBy=file%3Aname] TRACE GenericFile
        - FileNameOnly: hello.txt
2010-04-07 14:08:21,931 [tBy=file%3Aname] TRACE GenericFile
        - FileName: hello.txt
2010-04-07 14:08:21,932 [tBy=file%3Aname] TRACE GenericFile
        - Absolute: true
2010-04-07 14:08:21,932 [tBy=file%3Aname] TRACE GenericFile
        - Relative path: /opt/feeds/ebook/in/.camel/hello.txt
2010-04-07 14:08:21,932 [tBy=file%3Aname] TRACE GenericFile
        - Absolute path: /opt/feeds/ebook/in/.camel/hello.txt
2010-04-07 14:08:21,933 [tBy=file%3Aname] TRACE GenericFile
        - Name changed to:
GenericFile[/opt/feeds/ebook/in/.camel/hello.txt]
2010-04-07 14:08:21,933 [ - ShutdownTask] INFO
DefaultShutdownStrategy        - Route: route1 suspended and shutdown
deferred, was consuming from:
Endpoint[file:///opt/feeds/ebook/in?include=.*%5C.txt&sortBy=file%3Aname]
2010-04-07 14:08:21,935 [ - ShutdownTask] INFO
DefaultShutdownStrategy        - Route: route1 shutdown complete.
2010-04-07 14:08:21,935 [main           ] INFO
DefaultShutdownStrategy        - Graceful shutdown of 1 routes
completed in 0 seconds
2010-04-07 14:08:21,936 [main           ] INFO
DefaultInflightRepository      - Shutting down with no inflight
exchanges.
2010-04-07 14:08:21,937 [main           ] INFO  DefaultCamelContext
        - Apache Camel  (CamelContext: camel-1) is shutdown

Process finished with exit code 0

In a simple uni tests

public class FileAbsoluteMoveDefaultIssueTest extends ContextTestSupport {

    @Override
    protected void setUp() throws Exception {
        deleteDirectory("opt/feeds/");
        super.setUp();
    }

    public void testAbsolute() throws Exception {
        MockEndpoint mock = getMockEndpoint("mock:result");
        mock.expectedBodiesReceived("Hello World");
        mock.expectedFileExists("/opt/feeds/ebook/in/.camel/hello.txt");

        template.sendBodyAndHeader("file:/opt/feeds/ebook/in", "Hello
World", Exchange.FILE_NAME, "hello.txt");

        assertMockEndpointsSatisfied();
    }

    @Override
    protected RouteBuilder createRouteBuilder() throws Exception {
        return new RouteBuilder() {
            @Override
            public void configure() throws Exception {

from("file:/opt/feeds/ebook/in?sortBy=file:name&include=.*\\.txt")
                        .convertBodyTo(String.class)
                        .setHeader("FILE_ID",
SimpleLanguage.simple("${file:onlyname.noext}"))
                        .to("log:foo?showAll=true")
                        .to("mock:result");
            }
        };
    }
}





On Wed, Apr 7, 2010 at 2:06 PM, Claus Ibsen <claus.ibsen@gmail.com> wrote:
> Hi
>
> Try using the Tracer and/or add this logging to the end of your route
>                        .to("log:foo?showAll=true")
>
> It could be something in all your processors and whatnot which messes
> with the headers.
>
> I have created an unit test on my system and it works all the time.
>
>
>
> On Wed, Apr 7, 2010 at 11:35 AM, Nick Mitchell <nick.mitchell@hmv.co.uk> wrote:
>>
>> from(cronTriggerExpression)
>>                       .pollEnrich(ebookRemoteFTPIn,0)
>>        .idempotentConsumer(header("CamelFileName"),filenameRepository)
>>                .to(ebookIn);
>>
>>           from(ebookIn)
>>                        .process( new SetupChildRouteRuntime(metaRouteId,childRouteId+0,
>> baseDao) )
>>                        .unmarshal(new XMLebookDataFormat())
>>                        .process(new CSVebookProcessor(ebookOut,
>>                                                      
         ebookTable,
>>                                                      
         authorTable,
>>                                                      
         drminfoTable,
>>                                                      
 ebookSubjectTable,
>>                                                      
 abstractBook2BiccodeTable,
>>                                                      
 bisacBicDao,
>>                                                      
 bicClassificationDao,
>>                                                      
 ebooksOtherFormatsTable,
>>                                                      
 ebooksExcerptTable,
>>                                                      
 ebookDigitalInfoTable,
>>                                                      
 ebooksOtherTitlesTable,
>>                                                      
 publisherTable,
>>                                                      
 imprintTable,
>>                                                      
 catalogDao,
>>                                                      
 productDao,
>>                                                      
 composedTypeDao,
>>                                                      
 etlStats,
>>                                                      
 true,
>>                                                      
 currentVatRate
>>                                                      
         ) )
>>        .setHeader("FILE_ID",
>> SimpleLanguage.simple("${file:onlyname.noext}"))
>>        .process(new ZipProcessorHybris(ebookOut, ebookZipOut,
>> ebookOutFileName, true, ebookZipIn,
>>                        0L, "[_.]","_{0}_{date}",etlStats))
>>        .process(new EmailProcessor(mailService,etlStats,ebookZipIn))
>>        .process( new EtlProcessSuccess(baseDao))
>>            .process(new CleanExchange())
>>            .delay().method( "com.lbi.etl.utils.beans.Delayer", "forceGC" );
>>
>> I've tried to fill in some constants so it makes a bit more sense to you.
>> The processors in the route don't really do much. Basically the route polls
>> for an XML file, processes the XML file, converts to a csv format, puts the
>> output file in a different directory and emails to say successful.
>>
>> Cheers
>> Nick
>>
>>
>> Claus Ibsen-2 wrote:
>>>
>>> Hi
>>>
>>> Could you post your route? I will then use it to reproduce the issue
>>> on my laptop.
>>>
>>>
>>> On Wed, Apr 7, 2010 at 10:45 AM, Nick Mitchell <nick.mitchell@hmv.co.uk>
>>> wrote:
>>>>
>>>> We are setting FILE_ID in the header
>>>>
>>>> .setHeader(FILE_ID, SimpleLanguage.simple("${file:onlyname.noext}"))
>>>>
>>>> If I change the file expression to ${file:name.ext} then it does move it
>>>> to
>>>> .camel folder. I confused as to why it worked before and not now though.
>>>> --
>>>> View this message in context:
>>>> http://old.nabble.com/FileComponent-Camel-2.2-tp28154602p28162146.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>>
>>
>> --
>> View this message in context: http://old.nabble.com/FileComponent-Camel-2.2-tp28154602p28162632.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Mime
View raw message