Unable to reproduce the problem today. Maybe all that time I was just short by a refresh.
Thanks anyway for the help... Don On Wed, Aug 17, 2011 at 11:41 AM, Donald Whytock <[email protected]> wrote: >>> When BundleB is started, ActivatorA.start() instantiates and starts an >>> extension of ServiceTracker, myServiceTracker. >>> myServiceTracker.addingReference() calls getServiceImpl() for a >>> ServiceImpA and calls showStatus() on it. >>> >>> If ServiceImplB.showStatus() calls super.showStatus(), >>> ServiceImplB.showStatus() is called. If ServiceImplB.showStatus() >>> does not call super.showStatus(), ServiceImplA.showStatus() is called. >> >> Are you saying that invoking ServiceImplB.showStatus() bypasses the code in >> ServiceImplB.showStatus() and directly goes to ServiceImplA.showStatus()? > > Yes. Code in the ServiceTracker launched by ActivatorA does > serviceImpl = getServiceImpl(); getServiceImpl() is abstract, and > implemented by ActivatorB to return a ServiceImplB. If > serviceImpl.showStatus() is called, ServiceImplA.showStatus() is run, > unless ServiceImplB.showStatus() calls super.showStatus(). > >> >>> >>> I don't believe this is normal Java behavior. I believe in a >>> command-line-JVM situation, ServiceImplB.showStatus() would always be >>> called, whether or not it called super.showStatus(). So is this an >>> idiosyncracy of classloaders in Felix? >> >> I doubt it. I would imagine something else is going on. If you want to email >> me a simple working example, I can take a look at it. > > Not sure I have an example I'd call simple, but I'll see what I can > do. :) Thanks... > > Don > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

