Thanks, Claus.
On Fri, Jul 18, 2008 at 1:55 AM, Claus Ibsen <[EMAIL PROTECTED]> wrote: > William > > I have created: > https://issues.apache.org/activemq/browse/CAMEL-735 > > to track this issue in Camel 1.5. > > > Med venlig hilsen > > Claus Ibsen > ...................................... > Silverbullet > Skovsgårdsvænget 21 > 8362 Hørning > Tlf. +45 2962 7576 > Web: www.silverbullet.dk > > -----Original Message----- > From: William Tam [mailto:[EMAIL PROTECTED] > Sent: 17. juli 2008 17:41 > To: [email protected] > Subject: Re: How can avoid to have such error message > "instanceAllreadyExistsException" ? > > I agree it is something for 1.5. > > Just wanna make sure we are on the same page. The issue isn't about > shared endpoint in a route but it is about shared *from* endpoint of > multiple routes. We know shared endpoint such as > from("a").to.("b").to("b") works. Or, if you have two routes like > this, it also works. > > from("a").to("b"); > from("c").to("b"); > > The issue is if we have two routes in a context that shared the same > "from" endpoint uri like: > > from("a").to("b"); > from("a").to("c"); > > Does it even make sense to have something that? I don't know. > >> The current behavior is to check if the mbean is already registered with the >> Boolean method for this. I think that is the best solution than catch >> InstanceAlreadyRegisteredExceptions. > I would agree except that I'm afraid it may not work in Websphere. > The downside is users get inconsistent debug/feeback in different > container environment. Normally, we should NOT be throwing this type > of exceptions at all. > > Cheers, > William > > > On Thu, Jul 17, 2008 at 11:16 AM, Claus Ibsen <[EMAIL PROTECTED]> wrote: >> Hi William >> >> Let's revisit the strategies for naming mbeans in Camel 1.5, considering >> there are shared endpoints in routes that should only be registered once and >> then we have individual processors etc in route paths. >> >> The current behavior is to check if the mbean is already registered with the >> Boolean method for this. I think that is the best solution than catch >> InstanceAlreadyRegisteredExceptions. >> >> But again we should get 1.4 out of the door, and then there is good time to >> improve the JMX agent even further. >> >> >> Med venlig hilsen >> >> Claus Ibsen >> ...................................... >> Silverbullet >> Skovsgårdsvænget 21 >> 8362 Hørning >> Tlf. +45 2962 7576 >> Web: www.silverbullet.dk >> >> -----Original Message----- >> From: William Tam [mailto:[EMAIL PROTECTED] >> Sent: 17. juli 2008 17:04 >> To: [email protected] >> Subject: Re: How can avoid to have such error message >> "instanceAllreadyExistsException" ? >> >> Hi Claus and Charles, >> >> 1) Claus, you were right when you said it was a warning. The stack >> does show where it was logged but here is where it happened. The >> InstrumentationLifecycleStrategy.onRoutes.Add() method caught the >> exception (InstanceAlreadyExistsException is a type of JMException) >> thrown by DefaultInstrumentation.registerMBeanWithServer() and log a >> warning message. >> >> for (Route route : routes) { >> try { >> ... >> agent.register(mr, getNamingStrategy().getObjectName(mr)); >> } catch (JMException e) { >> LOG.warn("Could not register Route MBean", e); >> } >> } >> >> 2) Charles, looking at the message, it failed to register a route that >> has a duplicated objectname. I am wondering if you have two routes >> within a CamelContext that have an identiical "from" endpoint uri? >> (The naming strategy for managed route is in part based on the from >> endpoint.) If so, I wonder if it could create a race condition >> between the two route (i.e. both routes listen/poll from the same >> destination). >> >> 3) As the result of the exception, only one of the two routes is >> registered with the MBean server. If having a common from endpoint >> within a CamelContext is valid, we should support managing multiple >> routes that has the same "from" endpoint. So, we need to fix the >> naming strategy. >> >> 4) I'd like to point out that testing for existing objectname in >> DefaultInstrumentionaAgent is probably not reliable running in >> WebSphere as as our (intended) objectname will be different than the >> actual name used in registration. >> >> 5) I am not sure I would degrade it to debug level as it (has >> helped)/helps us to discover real issues (earilier). >> >> On Thu, Jul 17, 2008 at 5:49 AM, Claus Ibsen <[EMAIL PROTECTED]> wrote: >>> Hi Charles >>> >>> I have committed a fix. Could you test it? >>> >>> Would take 2-3 hours before the CI server has pushed a new 1.4-SNAPSHOT >>> build today. >>> >>> The bug is reported at CAMEL-732 >>> https://issues.apache.org/activemq/browse/CAMEL-732 >>> >>> >>> >>> Med venlig hilsen >>> >>> Claus Ibsen >>> ...................................... >>> Silverbullet >>> Skovsgårdsvænget 21 >>> 8362 Hørning >>> Tlf. +45 2962 7576 >>> Web: www.silverbullet.dk >>> -----Original Message----- >>> From: Claus Ibsen [mailto:[EMAIL PROTECTED] >>> Sent: 17. juli 2008 10:30 >>> To: [email protected] >>> Subject: RE: How can avoid to have such error message >>> "instanceAllreadyExistsException" ? >>> >>> Hi >>> >>> Sorry my bad it used to be a WARN I think, but I can see it's thrown. >>> I will relax it to a DEBUG message with a hint that this is okay and Camel >>> will continue. >>> >>> Med venlig hilsen >>> >>> Claus Ibsen >>> ...................................... >>> Silverbullet >>> Skovsgårdsvænget 21 >>> 8362 Hørning >>> Tlf. +45 2962 7576 >>> Web: www.silverbullet.dk >>> >>> -----Original Message----- >>> From: Claus Ibsen [mailto:[EMAIL PROTECTED] >>> Sent: 17. juli 2008 10:25 >>> To: [email protected] >>> Subject: RE: How can avoid to have such error message >>> "instanceAllreadyExistsException" ? >>> >>> Hi >>> >>> It's not an ERROR it's a WARN. Camel will work fine. >>> >>> As it's the same JMS queue we can not create 3 different mbeans for it in >>> the JMX tree. We had an issue before where each of them will get their own >>> instance number 0, 1, 2 etc. But as you write it's the same endpoint. >>> >>> Maybe the WARN logging is to aggressive and should just be DEBUG and >>> without the stacktrace - it's of no use. >>> >>> Let me take a look. >>> >>> >>> Med venlig hilsen >>> >>> Claus Ibsen >>> ...................................... >>> Silverbullet >>> Skovsgårdsvænget 21 >>> 8362 Hørning >>> Tlf. +45 2962 7576 >>> Web: www.silverbullet.dk >>> >>> -----Original Message----- >>> From: cmoulliard [mailto:[EMAIL PROTECTED] >>> Sent: 17. juli 2008 10:14 >>> To: [email protected] >>> Subject: How can avoid to have such error message >>> "instanceAllreadyExistsException" ? >>> >>> >>> Hi, >>> >>> I have created different routes hosted in two different packages. >>> >>> Package : com.myApplication.routing.in >>> Class : RouteA >>> Class : RouteB >>> ... >>> >>> Package : com.myApplication.routing.out >>> Class : RouteC >>> >>> In the RouteB and RouteC, we have a common endpoint which is >>> "activemq:queue:myqueue". >>> >>> During the launch of Camel, I have the following error : >>> >>> <camelContext id="camel" >>> xmlns="http://activemq.apache.org/camel/schema/spring"> >>> <package>com.myapplication.routing.in</package> >>> <package>com.myapplication.routing.out</package> >>> </camelContext> >>> >>> 43javax.management.InstanceAlreadyExistsException: >>> org.apache.camel:context=dell-charles/camel,[EMAIL >>> PROTECTED],type=route,[EMAIL PROTECTED] >>> at com.sun.jmx.mbeanserver.RepositorySupport.addMBean(Unknown Source) >>> at >>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(Unknown >>> Source) >>> at >>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(Unknown >>> Source) >>> at >>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(Unknown >>> Source) >>> at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(Unknown >>> Source) >>> >>> How to solve this ? >>> >>> Regards, >>> >>> Charles Moulliard >>> >>> >>> ----- >>> Enterprise Architect >>> >>> Xpectis >>> 12, route d'Esch >>> L-1470 Luxembourg >>> >>> Phone +352 25 10 70 470 >>> Mobile +352 621 45 36 22 >>> >>> e-mail : [EMAIL PROTECTED] >>> web site : www.xpectis.com >>> -- >>> View this message in context: >>> http://www.nabble.com/How-can-avoid-to-have-such-error-message-%22instanceAllreadyExistsException%22---tp18503700s22882p18503700.html >>> Sent from the Camel - Users mailing list archive at Nabble.com. >>> >>> >> >
