On Fri, Aug 13, 2010 at 2:26 AM, Ron Smith <ronsmit...@gmail.com> wrote:
> I don't really want a new bean every time it is called. I just want one for
> each thread.

Why do you want to share state on the bean?
You can easily code a method which is thread safe by not using any
shared objects.

And what's there really to share, between the current Exchange, and
whatever the next Exchange is gonna be?



>
> On Thu, Aug 12, 2010 at 1:22 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>
>> On Thu, Aug 12, 2010 at 7:19 PM, Ron Smith <ronsmit...@gmail.com> wrote:
>> > I have created a route like this:
>> >
>> > from("tibco:queue:myqueue")
>> >    .threads(10)
>> >    .bean(StepOne.class, "handleMessage")
>> >    .bean(StepTwo.class, "handleMessage")
>> >
>> >
>> > I had been testing my app without the threads(). After adding the
>> threads()
>> > I was surprised to find that it still only creates one instance of
>> StepOne
>> > and StepTwo and has all ten threads use those single instances. There is
>> > probably something in the docs somewhere that says that is how it works
>> but
>> > I must have missed it. I was surprised because I prefer to use separate
>> > instance of classes for each thread so I don't have to mess around with
>> > ThreadLocal, etc. and, of course, everyone thinks the same way as me :-)
>> >
>> > Is there an easy way to get camel to create separate instances for each
>> > thread?
>> >
>>
>> You can use Spring and have it use prototype scoped for the bean
>>
>> Or just use a Processor and new the bean yourself and invoke the method.
>>
>>
>> --
>> 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

Reply via email to