-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
fuse-6.x-GA
-
None
-
%
-
-
Thread leak issue will be addressed in Fuse 7.6.0.GA.
-
It does not appear to be possible to effectively manage Jetty thread pool sizes when using REST DSL in Camel.
Trying to set the thread pool minimum and maximum sizes via endpointProperty values as below appears to be ignored:
<restConfiguration bindingMode="json" component="jetty" host="{{server.host}}" port="{{server.port}}" scheme="http"> <endpointProperty key="servletName" value="RestServlet"/> <endpointProperty key="minThreads" value="20"/> <endpointProperty key="maxThreads" value="20"/> <dataFormatProperty key="prettyPrint" value="true"/> <dataFormatProperty key="json.in.disableFeatures" value="FAIL_ON_UNKNOWN_PROPERTIES,ADJUST_DATES_TO_CONTEXT_TIME_ZONE"/> <dataFormatProperty key="json.in.enableFeatures" value="FAIL_ON_NUMBERS_FOR_ENUMS,USE_BIG_DECIMAL_FOR_FLOATS"/> </restConfiguration>
Setting the values explicitly in a "jetty" bean seems to work a little better:
<camelContext id="restTestJetty" trace="false" xmlns="http://camel.apache.org/schema/blueprint"> <restConfiguration bindingMode="json" component="jetty" host="{{server.host}}" port="{{server.port}}" scheme="http"> <endpointProperty key="servletName" value="RestServlet"/> <dataFormatProperty key="prettyPrint" value="true"/> <dataFormatProperty key="json.in.disableFeatures" value="FAIL_ON_UNKNOWN_PROPERTIES,ADJUST_DATES_TO_CONTEXT_TIME_ZONE"/> <dataFormatProperty key="json.in.enableFeatures" value="FAIL_ON_NUMBERS_FOR_ENUMS,USE_BIG_DECIMAL_FOR_FLOATS"/> </restConfiguration> <rest consumes="application/json" path="/OutputService" produces="application/json"> <get outType="java.lang.String" uri="/{type}/{ip}"> <description>Lookup a location</description> <to uri="bean:inputService?method=getLoc(${header.type}, ${header.ip})"/> </get> </rest> <rest consumes="application/json" path="/InputService" produces="application/json"> <put outType="java.lang.String" uri="/{type}/{ip}/{loc}"> <description>Store a location</description> <to uri="bean:inputService?method=setLoc(${header.type}, ${header.ip}, ${header.loc})"/> </put> </rest> </camelContext>
however, restarting the component / bundle results in thread pool leakage and we can see the number of threads increasing by the thread pool minimum size with each restart.
- is related to
-
ENTESB-12172 Thread leak in camel-jetty component if maxThreads or minThreads property is set
- Done