Hi

I would suggest to use the JDK concurrency stuff for spawning threads.

See for instance the SedaConsumer
https://svn.apache.org/repos/asf/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java


On Wed, Apr 8, 2009 at 4:53 PM,  <[email protected]> wrote:
> I think you should "kill" your threads on method doStop() or stop() of your
> consumer.
>
> They are invoked when CamelContext is stopped.
>
> Cheers,
> Bruno Borges
>
> On Apr 8, 2009 12:38am, Manish K Bafna <[email protected]> wrote:
>>
>> The same is visible in JMS component too.
>
>> Steps:
>
>> 1. Create a route from JMS topic1 to JMS queue1
>
>> 2. Start the context
>
>> 3. Send 1 message to the topic.
>
>> 4. The queue will also receive 1 message.
>
>> 5. Stop the context
>
>> 6. Start the context again
>
>> 7. Send 1 message to the topic.
>
>> 8. the same message will be seen in the queue 2 times when there should be
>> only 1.
>
>> 9. Repeat the above steps and the number increases.
>
>
>
>> Thanks,
>
>> Manish.
>
>
>
>> -----Original Message-----
>
>> From: Manish K Bafna
>
>> Sent: Tuesday, April 07, 2009 6:45 PM
>
>> To: camel-u...@activemq. apache. org ([email protected])
>
>> Subject: Multiple consumers getting created in custom endpoint
>
>
>
>> Hi,
>
>> I am creating my own custom endpoint using Camel 1.5
>
>
>
>> public class AbcEndpoint extends DefaultEndpoint {
>
>> public Consumer createConsumer(Processor processor) throws Exception {
>
>> Consumer c=new AbcConsumer(this,processor);
>
>> return c;
>
>> }
>
>> .....
>
>> }
>
>
>
>> public class AbcConsumer extends DefaultConsumer
>
>> {
>
>> protected void doStart() throws Exception {..do something...}
>
>> protected void doStop() throws Exception {--do something--}
>
>> }
>
>
>
>> When is start the context for the 1st time, 1 consumer is created, when I
>> stop it and start it again, createConsumer() is called 2 times and so on.
>
>> Do I have to do something to avoid this behavior. The problem is in the
>> doStart() method of the Consumer, I am creating my own threads. Now since
>> createConsumer() is being 2 times, doStart() is being called 2 times and
>> multiple threads are being created.
>
>
>
>
>
>
>
>
>
>
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus
Apache Camel Reference Card:
http://refcardz.dzone.com/refcardz/enterprise-integration

Reply via email to