1 Reply Latest reply on Dec 23, 2010 7:09 AM by Claus Ibsen

    Issue with file component (camel is not consuming files from the folder

    ganesh venkat Newbie

      Hi,

      I am facing one problem with file component.

      My requirement is :File component to read the xml/txt/csv file from directory as periodically and store the database.

      For above task i wrote the like

      Endpoint is folder and camel consuming files from the folder periodically until ends the workflow..

       

      String insertQuery = "insert into tblblacklistednumbers(fldTransactionId,fldPhoneNumber,fldDescription) values (#,#,#)";

                      System.out.println(insertQuery.trim());

                      JaxbDataFormat jaxb = new JaxbDataFormat("com.upc.mds.processor");

                      System.out.println("path in jaxb"+jaxb.getContextPath());

                      System.out.println("object in jaxb"+jaxb.toString());

                       

                      from("file://D:/BLNData")

                      .processRef("test")

               .choice()

               .when()

               .method("fileHelper", "isCsv")

               .unmarshal().csv()  

               .processRef("test")

                 

               .processRef("blndataProcessor")

               .loop(property("blnLoop"))

               .processRef("setBodyProcessor")

               //.to("writeSql:call blacklistednumbersprod(#,#,#)")

               .to("dataSource:"+insertQuery.trim())

               //.to("bean:normalizer")

               .end()

               .end()

               .choice()        

               .when()

               .method("fileHelper", "isXml")        

               .unmarshal(jaxb)        

               .processRef("test")

               .processRef("blndataProcessor")

                .to("dataSource:"+insertQuery.trim())

                .processRef("test")

               .end()        

              ;

       

      The above code working fine by using the Thread.sleep(n) in my main problem but my requirement in actual project  is:

      we are used the Reflection  in main problem to start the router and The connection is establish/lessening until workflow ends.

      Is it possible ?

      Please can you provide some ideas