On Thu, Sep 3, 2015 at 2:02 AM, Aki Yoshida <[email protected]> wrote: > I am not sure if this is what is happening to your case. > But just in case to describe that there is some difference in > blueprint's injection in contrast to that of spring or how one > intuitively thinks. > > With blueprint, you can only access the setters from the public super > classes and not the setters from from the abstract super classes. > > So if you have > abstract class A { > public method setFoo(...) { > } > } > > public class B extends A { > public method setBar(...) { > } > } > > > with above, you can do in java > B b = new B(); > b.setBar(..); > b.setFoo(...): > > and you can also access the foo setter in spring, but not in blueprint. > > There is a method check in its reflection utility class > (ReflectionUtils) that rejects those with m.isBridge() == true.
Yes, that's it! the base class is abstract! Is this a bug w/r/t the blueprint spec? If so I'll file a JIRA at Aries. > > regards, aki > > > 2015-09-03 2:12 GMT+02:00 Benson Margulies <[email protected]>: >> On Wed, Sep 2, 2015 at 6:06 PM, Guillaume Nodet <[email protected]> wrote: >>> What's the exception you end up with ? >>> I had a brief look at the blueprint code and that seems to be supported. >>> >> >> Error message: >> >> org.osgi.service.blueprint.container.ComponentDefinitionException: >> Unable to find property descriptor requestTracker on class >> com.basistech.ws.frontend.service.RaasRsCategorizationService >> >> And when I duplicated the setter into the derived class, it worked fine. >> >> >>> 2015-09-02 22:53 GMT+02:00 Benson Margulies <[email protected]>: >>> >>>> While setting up a raft of jax-rs service beans, I am getting an exception >>>> that seems to tell me that blueprint cannot use setter methods from base >>>> classes. Anyone here have experience one way or the other? >>>>
