Set scheduled="true" on the <threadPool>

On Fri, Apr 21, 2017 at 4:03 PM, Robson Vargas Farias
<robsonvargasfar...@gmail.com> wrote:
> Right, but I still don't understood the point, sorry I'm kindly newer in
> Camel. as per I read on Camel documentation, the regular threadPool kind of
> "extend" from a threadPoolProfile"
>
> "Create custom thread pool You can also use the <threadPool/> tag in Spring
> XML to create a specific thread pool (eg ExecutorService). Notice that any
> options you do not explicit define, will have Camel to use the default
> thread pool profile as fallback. For example if you omit setting the
> maxQueueSize then Camel will fallback and use the value from the default
> thread pool profiles, which by default is 1000." -
> http://camel.apache.org/threading-model.html
>
> so, what exactly is the difference when you mean "ThreadPoolProfile" is
> scheduled and "ThreadPool" isn´t ?
>
> 2017-04-21 10:51 GMT-03:00 Claus Ibsen <claus.ib...@gmail.com>:
>
>> The thread pool must be a scheduled thread pool and not a regular pool
>>
>> On Fri, Apr 21, 2017 at 3:50 PM, Robson Vargas Farias
>> <robsonvargasfar...@gmail.com> wrote:
>> > Hi Claus, thanks for the support. So, actually as I mentioned, my query
>> is:
>> > "Why the throttle works only with ThreadPoolProfile and not with a
>> > ThreadPool", in your sample, you used a threadpoolprofile and it´s fine,
>> it
>> > works for me too. But, try to run that test with a threadpool:
>> >
>> > <?xml version="1.0" encoding="UTF-8"?>
>> > <!-- Licensed to the Apache Software Foundation (ASF) under one or more
>> > contributor
>> > license agreements. See the NOTICE file distributed with this work for
>> > additional
>> > information regarding copyright ownership. The ASF licenses this file to
>> > You under the Apache License, Version 2.0 (the "License"); you may not
>> use
>> > this file except in compliance with the License. You may obtain a copy of
>> > the License at http://www.apache.org/licenses/LICENSE-2.0 Unless
>> required
>> > by applicable law or agreed to in writing, software distributed under the
>> > License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
>> > CONDITIONS
>> > OF ANY KIND, either express or implied. See the License for the specific
>> > language governing permissions and limitations under the License. -->
>> > <beans xmlns="http://www.springframework.org/schema/beans";
>> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> > xsi:schemaLocation="
>> >        http://www.springframework.org/schema/beans
>> > http://www.springframework.org/schema/beans/spring-beans.xsd
>> >        http://camel.apache.org/schema/spring
>> > http://camel.apache.org/schema/spring/camel-spring.xsd
>> >     ">
>> >
>> > <camelContext xmlns="http://camel.apache.org/schema/spring";>
>> >
>> > <threadPool id="my_thread_pool" poolSize="1" maxPoolSize="4"
>> > maxQueueSize="100" threadName="my_thread_pool" keepAliveTime="0"
>> > rejectedPolicy="DiscardOldest" timeUnit="SECONDS" />
>> >
>> > <route>
>> > <from uri="direct:start" />
>> > <throttle executorServiceRef="my_thread_pool">
>> > <constant>2</constant>
>> > <to uri="mock:result" />
>> > </throttle>
>> > </route>
>> >
>> > </camelContext>
>> >
>> > </beans>
>> >
>> >
>> > 2017-04-21 5:53 GMT-03:00 Claus Ibsen <claus.ib...@gmail.com>:
>> >
>> >> I created an unit test that cannot reproduce the problem you have
>> >> https://github.com/apache/camel/commit/9b3e7ebe58ae3e569d3869c4766429
>> >> 37c09d0a0c
>> >>
>> >> On Fri, Apr 21, 2017 at 10:36 AM, Claus Ibsen <claus.ib...@gmail.com>
>> >> wrote:
>> >> > It ought to work as its using the same code the other EIPs would do,
>> >> > can you provide a very small sample project that reproduces this.
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > On Thu, Apr 20, 2017 at 9:09 PM, Robson Vargas Farias
>> >> > <robsonvargasfar...@gmail.com> wrote:
>> >> >> I've updated to the latest camel-x version which is 2.18.3 and the
>> error
>> >> >> still persists.
>> >> >>
>> >> >> Should the threadPool be declared in other place than into the
>> >> camelContext
>> >> >> ?
>> >> >>
>> >> >> "..because of ExecutorServiceRef my_thread_pool not found in registry
>> >> or as
>> >> >> a thread pool profile."
>> >> >>
>> >> >> 2017-04-20 10:44 GMT-03:00 Claus Ibsen <claus.ib...@gmail.com>:
>> >> >>
>> >> >>> That is very old, its likely/possible fixed on newer version. So I
>> >> >>> suggest to try upgrading or build a new sample project using latest
>> >> >>> release and see if it works there.
>> >> >>>
>> >> >>> Knowing something is still not working in latest release brings
>> >> >>> attention to us. Otherwise we dont have the time to look into this
>> >> >>> ourselves first when users are using very old versions of Camel.
>> >> >>>
>> >> >>> On Thu, Apr 20, 2017 at 3:37 PM, Robson Vargas Farias
>> >> >>> <robsonvargasfar...@gmail.com> wrote:
>> >> >>> > Hi Claus, currently using 2.13.2 - and no, did not try other
>> version.
>> >> >>> >
>> >> >>> > 2017-04-20 10:33 GMT-03:00 Claus Ibsen <claus.ib...@gmail.com>:
>> >> >>> >
>> >> >>> >> What version of Camel do you use, and have you tried with a newer
>> >> >>> version
>> >> >>> >>
>> >> >>> >> On Thu, Apr 20, 2017 at 3:29 PM, Robson Vargas Farias
>> >> >>> >> <robsonvargasfar...@gmail.com> wrote:
>> >> >>> >> > Hi,
>> >> >>> >> >
>> >> >>> >> > Can you help me where is my miss?
>> >> >>> >> >
>> >> >>> >> > I've a camel context configured with a route containing a
>> throttle
>> >> >>> which
>> >> >>> >> is
>> >> >>> >> > pointing (ref) to a threadPool:
>> >> >>> >> >
>> >> >>> >> > <camel:camelContext id="camel-server" useMDCLogging="true"
>> >> >>> >> > allowUseOriginalMessage="false">
>> >> >>> >> >
>> >> >>> >> >
>> >> >>> >> > <!-- thread pools -->
>> >> >>> >> >
>> >> >>> >> > <camel:threadPool id="my_thread_pool"
>> >> >>> >> > poolSize="1"
>> >> >>> >> > maxPoolSize="4"
>> >> >>> >> > maxQueueSize="100"
>> >> >>> >> > threadName="my_thread_pool" keepAliveTime="0"
>> >> >>> >> > rejectedPolicy="DiscardOldest" timeUnit="SECONDS" />
>> >> >>> >> >
>> >> >>> >> > ..
>> >> >>> >> >
>> >> >>> >> >
>> >> >>> >> > <camel:route id="my_route">
>> >> >>> >> > <camel:from ref="mq_endpoint" />
>> >> >>> >> > <camel:throttle timePeriodMillis="1000"
>> >> executorServiceRef="my_thread_
>> >> >>> >> pool">
>> >> >>> >> > ..
>> >> >>> >> >
>> >> >>> >> >
>> >> >>> >> > but, when I start my application I got below error:
>> >> >>> >> >
>> >> >>> >> > Caused By: java.lang.IllegalArgumentException:
>> ExecutorServiceRef
>> >> >>> >> > my_thread_pool not found in registry or as a thread pool
>> profile.
>> >> >>> >> >
>> >> >>> >> >
>> >> >>> >> >
>> >> >>> >> > If I change the throttle from a threadPool to a
>> threadPoolProfile
>> >> it
>> >> >>> >> works.
>> >> >>> >> > So, why it is not working with a threadPool?
>> >> >>> >> >
>> >> >>> >> > Thanks.
>> >> >>> >>
>> >> >>> >>
>> >> >>> >>
>> >> >>> >> --
>> >> >>> >> Claus Ibsen
>> >> >>> >> -----------------
>> >> >>> >> http://davsclaus.com @davsclaus
>> >> >>> >> Camel in Action 2: https://www.manning.com/ibsen2
>> >> >>> >>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> --
>> >> >>> Claus Ibsen
>> >> >>> -----------------
>> >> >>> http://davsclaus.com @davsclaus
>> >> >>> Camel in Action 2: https://www.manning.com/ibsen2
>> >> >>>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Claus Ibsen
>> >> > -----------------
>> >> > http://davsclaus.com @davsclaus
>> >> > Camel in Action 2: https://www.manning.com/ibsen2
>> >>
>> >>
>> >>
>> >> --
>> >> Claus Ibsen
>> >> -----------------
>> >> http://davsclaus.com @davsclaus
>> >> Camel in Action 2: https://www.manning.com/ibsen2
>> >>
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2
>>



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to