What is wondering me is that I do not see any exception at all.
Thread.sleep(10000) sleeps for 10 seconds and I think that is ample time to
copy a simple 4 line xml to the outbox. Is there a way that I could debug a
bit here to understand what is happening behind the scenes?

Regards,
Jothi

On Sun, Aug 19, 2012 at 11:14 AM, Joe San <codeintheo...@gmail.com> wrote:

> After being unsuccessful at my effort to make the above route to work, I
> created the necessary inbox and outbox folders and my new route looks like
> below:
>
>
> from("file://Users/jothi/Desktop/inbox/filename=my.xml").unmarshal(jaxb).bean(new
> ProcessorBean()).to("file://Users/jothi/Desktop/inbox/filename=my.xml");
>
> Why does this not work either? What else should I tell Camel so that he
> writes the my.xml to the outbox?
>
> Regards,
> Jothi
>
>
> On Fri, Aug 17, 2012 at 12:47 PM, Joe San <codeintheo...@gmail.com> wrote:
>
>> Thanks for the pointer. I made the necessary changes to my route but
>> still unable to make it work!
>>
>> from("file:.?fileName=my.xml").unmarshal(jaxb).bean(new
>> ProcessorBean()).to("file:.?fileName=my1.xml");
>>
>> For convenient sake, I changed the name of the target file (my1.xml). Why
>> would my ProcessorBean not invoked? Also how can I see that my.xml was
>> picked up by Camel in the from clause?
>>
>> Regards,
>> Jothi
>>
>>
>> On Fri, Aug 17, 2012 at 12:19 PM, Claus Ibsen <claus.ib...@gmail.com>wrote:
>>
>>> On Fri, Aug 17, 2012 at 11:26 AM, Joe San <codeintheo...@gmail.com>
>>> wrote:
>>> > Thanks! That solved the problem.
>>> >
>>> > Now I'm able to successfully get my example running. But I'm not
>>> getting
>>> > Camel do what I wanted. Here is how my route definition looks like!
>>> >
>>> >                 context.addRoutes(new RouteBuilder() {
>>> >                     public void configure() {
>>> >                         from("file:my.xml").unmarshal(jaxb).bean(new
>>> > ProcessorBean()).to("file:my.xml");
>>> >                     }
>>> >                 });
>>> >
>>> > The my.xml is in the same folder where the class containing the above
>>> route
>>> > definition exists. What I'm trying to do is to read the xml, change the
>>> > value for the name attribute using a processor and write the new xml
>>> to the
>>> > same file.
>>> >
>>>
>>> The file component in Camel
>>> http://camel.apache.org/file2
>>>
>>> Requires to be configured with a *starting directory*. If you want to
>>> pickup a single file by its name, you need to use the fileName option
>>> for that
>>>
>>> from("file:startingDir?fileName=my.xml")...
>>>
>>> You may use dot as starting directory to say current dir (a bit odd
>>> though)
>>> from("file:.?fileName=my.xml")...
>>>
>>>
>>> > Regards,
>>> > Jothi
>>> >
>>> > On Fri, Aug 17, 2012 at 10:57 AM, Claus Ibsen <claus.ib...@gmail.com>
>>> wrote:
>>> >
>>> >> On Fri, Aug 17, 2012 at 10:46 AM, Joe San <codeintheo...@gmail.com>
>>> wrote:
>>> >> > So here comes the next bump!
>>> >> >
>>> >> > javax.xml.bind.JAXBException: "com.example.filexml" doesnt contain
>>> >> > ObjectFactory.class or jaxb.index
>>> >> >
>>> >> > Do I have to add a jaxb.index file to my package?
>>> >> >
>>> >>
>>> >> Yes, see for example p77 in Camel in Action book.
>>> >> Or google a bit on how to use JAXB with Java.
>>> >>
>>> >> Basically you need to drop a jaxb.index file in the JAR with your JAXB
>>> >> annotated classes.
>>> >> The file should contain a line per class that has JAXB annotations.
>>> >>
>>> >>
>>> >>
>>> >> > Regards,
>>> >> > Jothi
>>> >> >
>>> >> > On Fri, Aug 17, 2012 at 10:24 AM, Joe San <codeintheo...@gmail.com>
>>> >> wrote:
>>> >> >
>>> >> >> Just managed to get rid of this issue and I was about to post my
>>> >> solution
>>> >> >> and saw your message. Added the following as a dependency and it
>>> worked!
>>> >> >>
>>> >> >>     <dependency>
>>> >> >>         <groupId>org.slf4j</groupId>
>>> >> >>         <artifactId>slf4j-api</artifactId>
>>> >> >>         <version>1.6.6</version>
>>> >> >>     </dependency>
>>> >> >>
>>> >> >> Regards,
>>> >> >> Jothi
>>> >> >>
>>> >> >>
>>> >> >> On Fri, Aug 17, 2012 at 10:18 AM, Claus Ibsen <
>>> claus.ib...@gmail.com
>>> >> >wrote:
>>> >> >>
>>> >> >>> On Fri, Aug 17, 2012 at 10:06 AM, Joe San <
>>> codeintheo...@gmail.com>
>>> >> >>> wrote:
>>> >> >>> > I've tried to get rid of this issue but unfortunately could not.
>>> >> What I
>>> >> >>> do
>>> >> >>> > not understand is the following:
>>> >> >>> >
>>> >> >>> > The Error says:
>>> >> >>> >
>>> >> >>> > Exception in thread "main" java.lang.NoClassDefFoundError:
>>> >> >>> > org/slf4j/LoggerFactory
>>> >> >>> >     at
>>> >> >>> >
>>> >>
>>> org.apache.camel.support.ServiceSupport.<clinit>(ServiceSupport.java:38)
>>> >> >>> >     at
>>> >> >>> >
>>> >> >>>
>>> >>
>>> org.example.filexml.CamelWithFileAndXML.main(CamelWithFileAndXML.java:23)
>>> >> >>> > Caused by: java.lang.ClassNotFoundException:
>>> org.slf4j.LoggerFactory
>>> >> >>> >
>>> >> >>> > I have a dependency as:
>>> >> >>> >
>>> >> >>> >     <dependency>
>>> >> >>> >         <groupId>org.slf4j</groupId>
>>> >> >>> >         <artifactId>slf4j-log4j12</artifactId>
>>> >> >>> >         <version>1.6.6</version>
>>> >> >>> >     </dependency>
>>> >> >>> >
>>> >> >>> > When I checked the slf4j jar file, the package structure is
>>> different
>>> >> >>> from
>>> >> >>> > what the error says. There is no org.slf4j.LoggerFactory but
>>> rather
>>> >> >>> > org\slf4j\impl\Log4jLoggerFactory. Am I using wrong libraries?
>>> >> >>> >
>>> >> >>>
>>> >> >>> And you got slf4j-api JAR as well? Its needed as dependency.
>>> >> >>>
>>> >> >>> > Regards,
>>> >> >>> > Jothi
>>> >> >>> >
>>> >> >>> > On Thu, Aug 16, 2012 at 5:37 PM, Claus Ibsen <
>>> claus.ib...@gmail.com>
>>> >> >>> wrote:
>>> >> >>> >
>>> >> >>> >> On Thu, Aug 16, 2012 at 4:08 PM, Joe San <
>>> codeintheo...@gmail.com>
>>> >> >>> wrote:
>>> >> >>> >> > Even with the al4j-log4j dependecy added in the libraries, I
>>> get
>>> >> this
>>> >> >>> >> error.
>>> >> >>> >> >
>>> >> >>> >>
>>> >> >>> >> Are you sure they are on the classpath when you run the app
>>> form
>>> >> within
>>> >> >>> >> Eclipse.
>>> >> >>> >>
>>> >> >>> >> And you may want to add slf4j-log4j12 or some other logging
>>> bridge
>>> >> so
>>> >> >>> >> you can use log4j, or maybe some other log kit to log.
>>> >> >>> >> Then you can see logs in the console in eclipse etc, if you
>>> >> configure
>>> >> >>> >> logging to output to std out.
>>> >> >>> >>
>>> >> >>> >> If you create a new Camel project using the maven archetypes
>>> it does
>>> >> >>> that.
>>> >> >>> >> camel.apache.org/camel-maven-archetypes.html
>>> >> >>> >>
>>> >> >>> >> Or see some of the Camel examples in the examples dir
>>> >> >>> >>
>>> >> >>> >>
>>> >> >>> >>
>>> >> >>> >> > Regards,
>>> >> >>> >> > Jothi
>>> >> >>> >> >
>>> >> >>> >> > On Thu, Aug 16, 2012 at 3:59 PM, Claus Ibsen <
>>> >> claus.ib...@gmail.com>
>>> >> >>> >> wrote:
>>> >> >>> >> >
>>> >> >>> >> >> Hi
>>> >> >>> >> >>
>>> >> >>> >> >> See this FAQ
>>> >> >>> >> >> http://camel.apache.org/what-jars-do-i-need.html
>>> >> >>> >> >>
>>> >> >>> >> >>
>>> >> >>> >> >>
>>> >> >>> >> >> On Thu, Aug 16, 2012 at 3:50 PM, Joe San <
>>> >> codeintheo...@gmail.com>
>>> >> >>> >> wrote:
>>> >> >>> >> >> > Exception in thread "main" java.lang.NoClassDefFoundError:
>>> >> >>> >> >> > org/slf4j/LoggerFactory
>>> >> >>> >> >> >     at
>>> >> >>> >> >> >
>>> >> >>> >>
>>> >> >>>
>>> >>
>>> org.apache.camel.support.ServiceSupport.<clinit>(ServiceSupport.java:38)
>>> >> >>> >> >> >     at
>>> >> >>> >> >> >
>>> >> >>> >>
>>> >> >>>
>>> >>
>>> org.example.filexml.CamelWithFileAndXML.main(CamelWithFileAndXML.java:23)
>>> >> >>> >> >> > Caused by: java.lang.ClassNotFoundException:
>>> >> >>> org.slf4j.LoggerFactory
>>> >> >>> >> >> >     at java.net.URLClassLoader$1.run(Unknown Source)
>>> >> >>> >> >> >     at java.security.AccessController.doPrivileged(Native
>>> >> Method)
>>> >> >>> >> >> >     at java.net.URLClassLoader.findClass(Unknown Source)
>>> >> >>> >> >> >     at java.lang.ClassLoader.loadClass(Unknown Source)
>>> >> >>> >> >> >     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown
>>> >> Source)
>>> >> >>> >> >> >     at java.lang.ClassLoader.loadClass(Unknown Source)
>>> >> >>> >> >> >     ... 2 more
>>> >> >>> >> >> >
>>> >> >>> >> >> > My simple route fails with the above exception. All I
>>> have in
>>> >> my
>>> >> >>> >> pom.xml
>>> >> >>> >> >> > defined is:
>>> >> >>> >> >> >
>>> >> >>> >> >> >     <dependency>
>>> >> >>> >> >> >         <groupId>org.apache.camel</groupId>
>>> >> >>> >> >> >         <artifactId>camel-core</artifactId>
>>> >> >>> >> >> >         <version>2.9.2</version>
>>> >> >>> >> >> >     </dependency>
>>> >> >>> >> >> >     <dependency>
>>> >> >>> >> >> >       <groupId>org.apache.camel</groupId>
>>> >> >>> >> >> >       <artifactId>camel-jaxb</artifactId>
>>> >> >>> >> >> >       <version>2.9.2</version>
>>> >> >>> >> >> >     </dependency>
>>> >> >>> >> >> >
>>> >> >>> >> >> > Do I need additional dependencies to be added other than
>>> this?
>>> >> >>> >> >> >
>>> >> >>> >> >> > Regards,
>>> >> >>> >> >> > Jothi
>>> >> >>> >> >> >
>>> >> >>> >> >> > On Thu, Aug 16, 2012 at 3:34 PM, Joe San <
>>> >> codeintheo...@gmail.com
>>> >> >>> >
>>> >> >>> >> >> wrote:
>>> >> >>> >> >> >
>>> >> >>> >> >> >> I just found that out from Chapter 4. I would have
>>> expected
>>> >> this
>>> >> >>> hint
>>> >> >>> >> >> that
>>> >> >>> >> >> >> "when the bean has only one method, camel invokes it
>>> >> >>> automagically
>>> >> >>> >> >> without
>>> >> >>> >> >> >> having to explicitly specifying it" in Chapter 3 itself.
>>> >> >>> >> >> >>
>>> >> >>> >> >> >> Regards,
>>> >> >>> >> >> >> Jothi
>>> >> >>> >> >> >>
>>> >> >>> >> >> >>
>>> >> >>> >> >> >> On Thu, Aug 16, 2012 at 3:32 PM, Claus Ibsen <
>>> >> >>> claus.ib...@gmail.com
>>> >> >>> >> >> >wrote:
>>> >> >>> >> >> >>
>>> >> >>> >> >> >>> On Thu, Aug 16, 2012 at 3:16 PM, Joe San <
>>> >> >>> codeintheo...@gmail.com>
>>> >> >>> >> >> wrote:
>>> >> >>> >> >> >>> > Thanks for pointing me to toe documentation. My actual
>>> >> >>> question
>>> >> >>> >> got
>>> >> >>> >> >> >>> > clarified once I had a look into the documentation.
>>> >> >>> >> >> >>> >
>>> >> >>> >> >> >>> > From the Camel in Action book:
>>> >> >>> >> >> >>> >
>>> >> >>> >> >> >>> > from("quartz://report?cron=0+0+6+*+*+?")
>>> >> >>> >> >> >>> > .to("
>>> http://riders.com/orders/cmd=received&date=yesterday
>>> >> ")
>>> >> >>> >> >> >>> > .bean(new OrderToCsvBean())
>>> >> >>> >> >> >>> >
>>> >> >>> .to("file://riders/orders?fileName=report-${header.Date}.csv");
>>> >> >>> >> >> >>> >
>>> >> >>> >> >> >>> > How does Camel know which method in the
>>> OrderToCsvBean()
>>> >> >>> class to
>>> >> >>> >> >> >>> invoke.
>>> >> >>> >> >> >>> > Unfortunately the book does not mentions this in
>>> Chapter 3.
>>> >> >>> Not
>>> >> >>> >> sure
>>> >> >>> >> >> if
>>> >> >>> >> >> >>> it
>>> >> >>> >> >> >>> > is mentioned in Chapter 4 as I'm yet to start with
>>> Chapter
>>> >> 4.
>>> >> >>> >> >> >>> >
>>> >> >>> >> >> >>>
>>> >> >>> >> >> >>> Yep chapter 4 is all about using beans/pojos with
>>> Camel; see
>>> >> for
>>> >> >>> >> >> >>> example page 105.
>>> >> >>> >> >> >>>
>>> >> >>> >> >> >>> But basically if the pojo/bean has 1 method, then Camel
>>> knows
>>> >> >>> that
>>> >> >>> >> it
>>> >> >>> >> >> >>> should invoke that method.
>>> >> >>> >> >> >>> Its when you have 2+ methods it gets more complicated.
>>> You
>>> >> can
>>> >> >>> of
>>> >> >>> >> >> >>> course tell Camel the method name to use etc.
>>> >> >>> >> >> >>>
>>> >> >>> >> >> >>> But its all covered as well in chapter 4, as well you
>>> can
>>> >> find
>>> >> >>> >> pieces
>>> >> >>> >> >> >>> of details scattered online in the Camel docs.
>>> >> >>> >> >> >>>
>>> >> >>> >> >> >>>
>>> >> >>> >> >> >>> > Regards,
>>> >> >>> >> >> >>> > Jothi
>>> >> >>> >> >> >>> >
>>> >> >>> >> >> >>> > On Thu, Aug 16, 2012 at 2:46 PM, Babak Vahdat
>>> >> >>> >> >> >>> > <babak.vah...@swissonline.ch>wrote:
>>> >> >>> >> >> >>> >
>>> >> >>> >> >> >>> >> Check the documentation for this:
>>> >> >>> >> >> >>> >>
>>> >> >>> >> >> >>> >> http://camel.apache.org/bean-binding.html
>>> >> >>> >> >> >>> >>
>>> >> >>> >> >> >>> >> Babak
>>> >> >>> >> >> >>> >>
>>> >> >>> >> >> >>> >> Am 16.08.12 14:32 schrieb "Joe San" unter <
>>> >> >>> >> codeintheo...@gmail.com
>>> >> >>> >> >> >:
>>> >> >>> >> >> >>> >>
>>> >> >>> >> >> >>> >> >I have decided to use JAXB instead of xStream. My
>>> route
>>> >> >>> >> definition
>>> >> >>> >> >> >>> looks
>>> >> >>> >> >> >>> >> >like this:
>>> >> >>> >> >> >>> >> >
>>> >> >>> >> >> >>> >> >        final JaxbDataFormat jaxb = new
>>> >> >>> >> >> >>> >> >JaxbDataFormat("com.example.filexml");
>>> >> >>> >> >> >>> >> >        context.addRoutes(new RouteBuilder() {
>>> >> >>> >> >> >>> >> >            public void configure() {
>>> >> >>> >> >> >>> >> >
>>> >> >>>  from("file://my.xml").unmarshal(jaxb).bean(new
>>> >> >>> >> >> >>> >> >ProcessorBean()).to("file://my.xml");
>>> >> >>> >> >> >>> >> >            }
>>> >> >>> >> >> >>> >> >        });
>>> >> >>> >> >> >>> >> >
>>> >> >>> >> >> >>> >> >How do I get hold of the UnMarshalled Java Object
>>> (say
>>> >> >>> >> Person.java)
>>> >> >>> >> >> >>> in my
>>> >> >>> >> >> >>> >> >ProcessorBean. Also, when I use a bean for
>>> Processing,
>>> >> how
>>> >> >>> does
>>> >> >>> >> >> Camel
>>> >> >>> >> >> >>> know
>>> >> >>> >> >> >>> >> >which method to invoke in that bean?
>>> >> >>> >> >> >>> >> >
>>> >> >>> >> >> >>> >> >Regards,
>>> >> >>> >> >> >>> >> >Jothi
>>> >> >>> >> >> >>> >> >
>>> >> >>> >> >> >>> >> >On Thu, Aug 16, 2012 at 1:56 PM, Joe San <
>>> >> >>> >> codeintheo...@gmail.com>
>>> >> >>> >> >> >>> wrote:
>>> >> >>> >> >> >>> >> >
>>> >> >>> >> >> >>> >> >> Guys,
>>> >> >>> >> >> >>> >> >>
>>> >> >>> >> >> >>> >> >> I have a route which is defined as below:
>>> >> >>> >> >> >>> >> >>
>>> >> >>> >> >> >>> >> >>
>>> >> from("file://my.xml").marshal().xstream("UTF-8").bean(new
>>> >> >>> >> >> >>> >> >> ProcessorBean()).to("file://my.xml");
>>> >> >>> >> >> >>> >> >>
>>> >> >>> >> >> >>> >> >> All I want to do is access the my.xml in my
>>> >> ProcessorBean.
>>> >> >>> >> Where
>>> >> >>> >> >> >>> and how
>>> >> >>> >> >> >>> >> >> do I specify the Java object which will be filled
>>> with
>>> >> the
>>> >> >>> >> values
>>> >> >>> >> >> >>> in the
>>> >> >>> >> >> >>> >> >> xml file?
>>> >> >>> >> >> >>> >> >>
>>> >> >>> >> >> >>> >> >> Regards,
>>> >> >>> >> >> >>> >> >> Jothi
>>> >> >>> >> >> >>> >> >>
>>> >> >>> >> >> >>> >>
>>> >> >>> >> >> >>> >>
>>> >> >>> >> >> >>> >>
>>> >> >>> >> >> >>>
>>> >> >>> >> >> >>>
>>> >> >>> >> >> >>>
>>> >> >>> >> >> >>> --
>>> >> >>> >> >> >>> Claus Ibsen
>>> >> >>> >> >> >>> -----------------
>>> >> >>> >> >> >>> FuseSource
>>> >> >>> >> >> >>> Email: cib...@fusesource.com
>>> >> >>> >> >> >>> Web: http://fusesource.com
>>> >> >>> >> >> >>> Twitter: davsclaus, fusenews
>>> >> >>> >> >> >>> Blog: http://davsclaus.com
>>> >> >>> >> >> >>> Author of Camel in Action: http://www.manning.com/ibsen
>>> >> >>> >> >> >>>
>>> >> >>> >> >> >>
>>> >> >>> >> >> >>
>>> >> >>> >> >>
>>> >> >>> >> >>
>>> >> >>> >> >>
>>> >> >>> >> >> --
>>> >> >>> >> >> Claus Ibsen
>>> >> >>> >> >> -----------------
>>> >> >>> >> >> FuseSource
>>> >> >>> >> >> Email: cib...@fusesource.com
>>> >> >>> >> >> Web: http://fusesource.com
>>> >> >>> >> >> Twitter: davsclaus, fusenews
>>> >> >>> >> >> Blog: http://davsclaus.com
>>> >> >>> >> >> Author of Camel in Action: http://www.manning.com/ibsen
>>> >> >>> >> >>
>>> >> >>> >>
>>> >> >>> >>
>>> >> >>> >>
>>> >> >>> >> --
>>> >> >>> >> Claus Ibsen
>>> >> >>> >> -----------------
>>> >> >>> >> FuseSource
>>> >> >>> >> Email: cib...@fusesource.com
>>> >> >>> >> Web: http://fusesource.com
>>> >> >>> >> Twitter: davsclaus, fusenews
>>> >> >>> >> Blog: http://davsclaus.com
>>> >> >>> >> Author of Camel in Action: http://www.manning.com/ibsen
>>> >> >>> >>
>>> >> >>>
>>> >> >>>
>>> >> >>>
>>> >> >>> --
>>> >> >>> Claus Ibsen
>>> >> >>> -----------------
>>> >> >>> FuseSource
>>> >> >>> Email: cib...@fusesource.com
>>> >> >>> Web: http://fusesource.com
>>> >> >>> Twitter: davsclaus, fusenews
>>> >> >>> Blog: http://davsclaus.com
>>> >> >>> Author of Camel in Action: http://www.manning.com/ibsen
>>> >> >>>
>>> >> >>
>>> >> >>
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> Claus Ibsen
>>> >> -----------------
>>> >> FuseSource
>>> >> Email: cib...@fusesource.com
>>> >> Web: http://fusesource.com
>>> >> Twitter: davsclaus, fusenews
>>> >> Blog: http://davsclaus.com
>>> >> Author of Camel in Action: http://www.manning.com/ibsen
>>> >>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> -----------------
>>> FuseSource
>>> Email: cib...@fusesource.com
>>> Web: http://fusesource.com
>>> Twitter: davsclaus, fusenews
>>> Blog: http://davsclaus.com
>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>
>>
>>
>

Reply via email to