> On 16 Jul 2018, at 22:47, David Leangen via osgi-dev <osgi-dev@mail.osgi.org> > wrote: > Thanks Peter. > Could you please expand on what you mean by this? >> Notice that you can easily share (non managed service) configurations >> between components. You can get the configuration from different PIDs in your component. The `configurationPid` method in the @Component annotation takes multiple arguments. I recall that the first is a factory pid, the others are normal managed service pids. (Only 1 pid can control the life cycle.)
This allows you to create shared configuration between different components. You probably need to read up on the spec about the details … Kind regards, Peter Kriens > Also, thanks a lot for this: >> BTW, I updated the v2archive.osgi.enroute to build again. So the snapshots >> are also available now again. I tried to release this version but I did not >> have authority. Will try to get that. > > > Cheers, > =David > > >> On Jul 16, 2018, at 16:07, Peter Kriens <peter.kri...@aqute.biz >> <mailto:peter.kri...@aqute.biz>> wrote: >> >> Just be careful with these things. I call it the C++ effect. You get really >> thrilled about all the things you could do and how easy life is when you got >> that function. Then after a few years when you have it you see that the >> complexity went to your lambdas. I did that a lot in C++ from there the name >> :-) >> >> In my experience you want your configuration to be simple and any processing >> should be done by the component. Notice that you can easily share (non >> managed service) configurations between components. >> >> BTW, I updated the v2archive.osgi.enroute to build again. So the snapshots >> are also available now again. I tried to release this version but I did not >> have authority. Will try to get that. >> >> Kind regards, >> >> Peter Kriens >> >>> On 16 Jul 2018, at 03:09, David Leangen via osgi-dev >>> <osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>> wrote: >>> >>> >>> Thanks, Peter. That could actually be useful in some cases. >>> >>> I guess what I’m really looking for right now though is a way to inject a >>> lambda function. >>> >>> I suppose what I could do it have a 2-step configuration: the first step >>> would have constant configuration values being read as per usual via the >>> Configurator, and my lambdas provided from a Java class (or perhaps parsed >>> from a configuration file if I can find a way to do that). Then for the >>> second step the two could be combined, put into a Dictionary, and the >>> actual service would be instantiated based on the combined constant+lambda >>> configuration. >>> >>> I would ideally like to keep the constants and the lambdas together in a >>> configuration file, but maybe that is just not possible right now. >>> >>> In any case, this sounds very frameworky to me, so I was hoping that >>> something like this already exists… >>> >>> >>> Cheers, >>> =David >>> >>> >>> >>>> On Jul 15, 2018, at 1:01, Peter Kriens <peter.kri...@aqute.biz >>>> <mailto:peter.kri...@aqute.biz>> wrote: >>>> >>>> The v2Archive OSGi enRoute has a Configurer that uses a subset of the bnd >>>> Macro language. This supports ${system;..} and ${system_allow_fail}. These >>>> take shell command lines. >>>> >>>> P >>>> >>>> >>>> >>>>> On 14 Jul 2018, at 09:07, David Leangen via osgi-dev >>>>> <osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>> wrote: >>>>> >>>>> >>>>> Thanks, BJ. >>>>> >>>>> Yeah, right now I am using a Dictionary exactly how you mentioned, but I >>>>> am wondering if there is a way to maintain it the same way I do as for my >>>>> configurations. >>>>> >>>>> Has there ever been a discussion about possibly including this type of >>>>> thing in the spec? For instance, a spec could include a script (saved in >>>>> a configuration file), and the script could be parsed and included in a >>>>> Configuration. >>>>> >>>>> Has nobody ever encountered this use case? If you have, how did you solve >>>>> it? >>>>> >>>>> >>>>> Cheers, >>>>> =David >>>>> >>>>> >>>>>> On Jul 14, 2018, at 5:04, BJ Hargrave <hargr...@us.ibm.com >>>>>> <mailto:hargr...@us.ibm.com>> wrote: >>>>>> >>>>>> Component properties are basically service properties which are >>>>>> basically meant to be things that can go in a Configuration: >>>>>> https://osgi.org/specification/osgi.core/7.0.0/framework.module.html#i3217016 >>>>>> >>>>>> <https://osgi.org/specification/osgi.core/7.0.0/framework.module.html#i3217016>. >>>>>> Complex objects including objects implementing functional interfaces >>>>>> are not in scope for a Configuration. >>>>>> >>>>>> That said, I imagine you could pass any value object in the Dictionary >>>>>> supplied to ComponentFactory.newInstance since they are not stored in >>>>>> Configuration Admin and SCR would not police the value object types :-) >>>>>> -- >>>>>> >>>>>> BJ Hargrave >>>>>> Senior Technical Staff Member, IBM // office: +1 386 848 1781 >>>>>> OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788 >>>>>> hargr...@us.ibm.com <mailto:hargr...@us.ibm.com> >>>>>> >>>>>> >>>>>> ----- Original message ----- >>>>>> From: David Leangen via osgi-dev <osgi-dev@mail.osgi.org >>>>>> <mailto:osgi-dev@mail.osgi.org>> >>>>>> Sent by: osgi-dev-boun...@mail.osgi.org >>>>>> <mailto:osgi-dev-boun...@mail.osgi.org> >>>>>> To: David Leangen via osgi-dev <osgi-dev@mail.osgi.org >>>>>> <mailto:osgi-dev@mail.osgi.org>> >>>>>> Cc: >>>>>> Subject: [osgi-dev] Functions as configuration >>>>>> Date: Fri, Jul 13, 2018 3:32 PM >>>>>> >>>>>> Hi! >>>>>> >>>>>> Is there any way to include functions as part of a component >>>>>> configuration? >>>>>> >>>>>> >>>>>> Cheers, >>>>>> =David >>>>>> >>>>>> _______________________________________________ >>>>>> OSGi Developer Mail List >>>>>> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org> >>>>>> https://mail.osgi.org/mailman/listinfo/osgi-dev >>>>>> <https://mail.osgi.org/mailman/listinfo/osgi-dev> >>>>>> >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> OSGi Developer Mail List >>>>> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org> >>>>> https://mail.osgi.org/mailman/listinfo/osgi-dev >>>>> <https://mail.osgi.org/mailman/listinfo/osgi-dev> >>> >>> _______________________________________________ >>> OSGi Developer Mail List >>> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org> >>> https://mail.osgi.org/mailman/listinfo/osgi-dev >>> <https://mail.osgi.org/mailman/listinfo/osgi-dev> > > _______________________________________________ > OSGi Developer Mail List > osgi-dev@mail.osgi.org > https://mail.osgi.org/mailman/listinfo/osgi-dev
_______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev