Hi I have created a ticket https://issues.apache.org/jira/browse/CAMEL-3641
On Fri, Feb 4, 2011 at 8:34 PM, Hadrian Zbarcea <hzbar...@gmail.com> wrote: > Sounds good. The only part I am not fond of is: >> - Dynamic endpoints, producers and whatnot which is created after the >> route is not enlisted. > > There are quite a few usecases that use dynamic endpoints, so jmx will > effectively be useless for them. > > MBeans use a lot of memory for a large application, with a lot of > endpoints/producers/consumers. Even then I would suspect that the percentage > of memory jmx uses is not that significant. > I think any solution that would prevent operations from managing/monitoring > whatever they need is not a good one. > We can add option so end user can decide behavior. To register: always, onlyOnStartingRoute etc. > Hadrian > > > > On Feb 4, 2011, at 10:15 AM, Claus Ibsen wrote: > >> Hi >> >> I might as well have an email afternoon. I have though of writing this >> for a bit of time. >> >> Camel supports JMX, by enlisting various mbeans in the registry such >> as consumers, components, endpoints, routes, services, thread pools >> and so forth. >> This happens during creation of those resources on demand. >> >> There is a couple of issues >> - MBean eats a lot of memory >> - There is no limitation >> - We enlist on demand, also when dynamic endpoints/producers is >> created, that could lead to eating too much memory >> - Even temporary routes is enlisted >> - Its all or nothing >> - Unregistering from JMX only happen when a route is shutdown or Camel >> shutdown. >> >> >> So I propose we change the model to >> - Only enlist during starting a route. Eg all the services that is >> being created during starting a route is enlisted, as they are used by >> that given route. >> - Dynamic endpoints, producers and whatnot which is created after the >> route is not enlisted. >> - Adding an option on route to dictate if it should enlist or not (eg >> temporary or short lived routes, you may not want to enslist) >> >> This would improve >> - Memory consumption would be low as we only enlist "static" parts of the >> routs >> - We can enlist producers again >> - Users can control if a route should be enlisted or not >> >> We could even add options to dictate which kind of mbeans you want enlisted >> - consumers, producers, endpoints, routes, components >> >> Maybe you just want routes, as all you want is to be able to >> start/stop a given route. >> >> >> Any thoughts? >> >> >> >> >> -- >> Claus Ibsen >> ----------------- >> FuseSource >> Email: cib...@fusesource.com >> Web: http://fusesource.com >> Twitter: davsclaus >> Blog: http://davsclaus.blogspot.com/ >> Author of Camel in Action: http://www.manning.com/ibsen/ > > -- Claus Ibsen ----------------- FuseSource Email: cib...@fusesource.com Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/