Win a copy of Learn Spring Security (video course) this week in the Spring forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

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

 
venky venkat
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic