> On 13 Nov 2016, at 14:46, Bengt Rodehav <be...@rodehav.com> wrote: > > OK, thanks Clement. > > Out of interest, when would the combination @instantiate and mandatory work > / make sense?
Never I would say ;-) There are many other way to declare instances in iPOJO such as Managed Service Factory, the iPOJO Factory service and so on. Mandatory is used in these contexts. Clement > > /Bengt > > Den 11 nov. 2016 2:52 em skrev "Clement Escoffier" < > clement.escoff...@gmail.com>: > >> Hi, >> >> No actually, it’s the expected behaviour. A mandatory property is required >> to be set when the instance is created. >> >> @Instantiate create an instance without any configuration, while you set a >> property to be mandatory. The property is injected by the config admin >> after the instance creation (as it’s a ManagedService configuration). >> >> So you have 2 choices: >> >> * either set the property to not mandatory and use the config admin to >> provide a value after the instantiation >> * use a ManagedServiceFactory configuration to instantiate the component >> (in this case remove the @Instantiate) >> >> Clement >> >> >>> On 10 Nov 2016, at 12:00, Bengt Rodehav <be...@rodehav.com> wrote: >>> >>> Do you think this is a bug or haven't I fully understood how iPojo works >> in >>> this situation? >>> >>> /Bengt >>> >>> 2016-11-09 9:02 GMT+01:00 Bengt Rodehav <be...@rodehav.com>: >>> >>>> Hello Clement, >>>> >>>> I instantiate the component as follows: >>>> >>>> @Component(managedservice = "hp.webservice", name = "hp.webservice", >>>>> publicFactory = false) >>>>> @Instantiate >>>>> public class HpWebService { >>>>> ... >>>> >>>> >>>> If I declare the property as mandatory, the instance never becomes valid >>>> at all. I thought it would be invalid until configuration manager gave >> the >>>> property a value and then it would become valid. >>>> >>>> /Bengt >>>> >>>> >>>> 2016-11-08 20:52 GMT+01:00 Clement Escoffier < >> clement.escoff...@gmail.com> >>>> : >>>> >>>>> Hi, >>>>> >>>>> The error means that you tried to create an instance of the component >>>>> with without the “logoBaseUrl” property. Do you know how this instance >> is >>>>> declared, and from where come the configuration ? >>>>> >>>>> Clement >>>>> >>>>>> On 8 Nov 2016, at 14:54, Bengt Rodehav <be...@rodehav.com> wrote: >>>>>> >>>>>> I'm using Karaf 4.0.7 with iPojo 1.12.1. >>>>>> >>>>>> I have declared a mandatory parameter as follows: >>>>>> >>>>>> @Property(name = "logoBaseUrl", mandatory = true) >>>>>> >>>>>> >>>>>> I have a configuration file for this property that sets the proper >>>>> value of >>>>>> the property "logoBaseUrl". >>>>>> >>>>>> But, on startup I get: >>>>>> >>>>>> 2016-11-08 14:40:40,910 | ERROR | pool-1-thread-1 | web >>>>>>> | ? ? | [ERROR] >>>>> hp.webservice >>>>>>> : The configuration is not acceptable : The mandatory property >>>>> logoBaseUrl >>>>>>> is missing >>>>>> >>>>>> >>>>>> And my iPojo component never becomes valid. >>>>>> >>>>>> If I change the property as follows: >>>>>> >>>>>> @Property(name = "logoBaseUrl", mandatory = false, >> value="/notvalidurl") >>>>>> >>>>>> >>>>>> Then everything works and the proper value is picked up from my >>>>>> configuration file. >>>>>> >>>>>> It's like iPojo never waits for the component to become configured but >>>>>> fails immediately. I would like the iPojo component to wait for the >>>>>> configuration and then become valid. How can I accomplish this? >>>>>> >>>>>> /Bengt >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org >>>>> For additional commands, e-mail: users-h...@felix.apache.org >>>>> >>>>> >>>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org >> For additional commands, e-mail: users-h...@felix.apache.org >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@felix.apache.org For additional commands, e-mail: users-h...@felix.apache.org