IMNSHO blueprint is only really plausible if you have a large amount of Spring 
based code and you need to convert it to be sort of osgi-compatible really 
quickly without understanding osgi or the code.  Otherwise taking the time to 
understand DS and use it is much more satisfactory.  DS provides this 
configuration override ability with support for multiple pids, although only 
one of the pids can turn out to be  a  factory configuration.  There’s no 
obvious way of correlating factory configurations, so this restriction makes 
some sense.

I don’t think there really are any blueprint folks.  The cm stuff, while 
obviously required to make the spec remotely plausible, hasn’t made it into the 
spec in the many many years it’s been sitting around.

david jencks

> On Jul 7, 2016, at 10:41 AM, Brad Johnson <[email protected]> 
> wrote:
> 
> If I were to sit down with the blueprint folks today to create a wish list 
> one thing I'd like to see is for an ability to have a configuration hierarchy 
> specified with parent/child relationships much like one has in Maven.  Have a 
> base configuration file and be able to have another cfg file specify that one 
> as its parent. Override properties or add them to the child.  When the 
> configuration admin fires up it would read up the chain and construct the 
> properties.  
> 
> On Thu, Jul 7, 2016 at 12:37 PM, Brad Johnson <[email protected] 
> <mailto:[email protected]>> wrote:
> Ray,
> 
> If I understand your question right the answer is the Aries extension is 
> referencing configuration.  In karaf/fuse for example the following:
> 
> <cm:property-placeholder persistent-id="com.my.foo" update-strategy="reload">
> 
> will load properties from etc/com.my.foo.cfg
> 
> Installing that file is done either manually or by use of a features file.
> 
> Whenever I've attempted to use the PID in more than one bundle it has failed 
> and I don't think it is permitted.  That's a problem I think and something 
> that should be fixed through some other configuration management mechanism.  
> Making microservices that might share common properties, for example, becomes 
> problematic in that regard and I've resorted to using my own OSGi services to 
> overcome that problem.
> 
> Brad
> 
> On Thu, Jul 7, 2016 at 10:46 AM, Raymond Auge <[email protected] 
> <mailto:[email protected]>> wrote:
> Ok, so after a brief review the cm schema is an Aries extension and it 
> doesn't appear to support the location binding.
> 
> However, it's unclear to me whether this extension is creating the 
> configuration or merely referencing one from outside. 
> 
> Any Aries gurus can answer that?
> 
> - Ray
> 
> On Thu, Jul 7, 2016 at 11:29 AM, David Jencks <[email protected] 
> <mailto:[email protected]>> wrote:
> I’m not really familiar with blueprint cm but I’d expect that to indicate 
> which pid to use to fetch the config from config admin and in the ... how to 
> map configuration propertiething blueprint substitution knows about.  Is that 
> really instructions to create a new configuration and populate it with data 
> (what a management agent does)?
> 
> david jencks
> 
>> On Jul 7, 2016, at 8:19 AM, Raymond Auge <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> David, I agree with everything you've said, however this looks like 
>> blueprint being the agent here:
>> 
>> <cm:property-placeholder persistent-id="my.id <http://my.id/>" 
>> update-strategy="reload">
>>         ...
>> </cm:property-placeholder>
>> 
>> - Ray
>> 
>> On Thu, Jul 7, 2016 at 11:18 AM, David Jencks <[email protected] 
>> <mailto:[email protected]>> wrote:
>> No, blueprint cm shouldn’t really know about the multi-location.  The 
>> management agent that is creating the configuration should be setting the 
>> bundle location to the multi-location ”?”.
>> 
>> david jencks
>> 
>>> On Jul 7, 2016, at 8:12 AM, Pablo Gómez Pérez <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> I see and would it possible to configure which method is invoked from 
>>> Blueprint? 
>>> 
>>> This is how I do it:
>>> 
>>> <cm:property-placeholder persistent-id="my.id <http://my.id/>" 
>>> update-strategy="reload">
>>>         ...
>>> </cm:property-placeholder>
>>> 
>>> is there perhaps some blueprint property where I can tune the second 
>>> argument in the createFactoryConfiguration? 
>>> 
>>> Because it looks like the fact of using config admin through blueprint 
>>> binds the PID to the first bundle using it
>>> 
>>> 
>>> best
>>> Pablo 
>>> 
>>> 
>>> On 07/07/2016 4:41 PM, Raymond Auge wrote:
>>>> As long as configurations are not bound to a bundle they can be used by 
>>>> any bundle.
>>>> 
>>>> The exception clearly shows that the configuration is bound to a bundle. 
>>>> 
>>>> Creating an unbound configuration requires passing a "?" as the second 
>>>> arguments to getConfiguration/createFactoryConfiguration methods of CM.
>>>> 
>>>> 
>>>> HTH,
>>>> - Ray
>>>> 
>>>> On Thu, Jul 7, 2016 at 10:24 AM, Brad Johnson 
>>>> <[email protected] <mailto:[email protected]>> wrote:
>>>> I don't think that's possible. 
>>>> 
>>>> On Thu, Jul 7, 2016 at 8:51 AM, Pablo Gómez Pérez <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> Hello All,
>>>> 
>>>>           Is it possible to use same config file from multiple bundles 
>>>> while using Config Admin with blueprint Blueprint? Because, I can't manage 
>>>> to do that, I get the following error:
>>>> 
>>>> MESSAGE Cannot use configuration test.mybundle for [org.osgi.service.cm 
>>>> <http://org.osgi.service.cm/>.ManagedService, id=214, 
>>>> bundle=86/initial@reference:file:../plugin-1/ 
>>>> <mailto:bundle=86/initial@reference:file:../plugin-1/>]: No visibility to 
>>>> configuration bound to initial@reference:file:../plugin-2/ 
>>>> <mailto:initial@reference:file:../plugin-2/>
>>>> 
>>>> 
>>>> I saw in this jira a bug opened: 
>>>> https://issues.jboss.org/browse/ENTESB-3959 
>>>> <https://issues.jboss.org/browse/ENTESB-3959>
>>>> 
>>>> 
>>>> However, I fear that this is a problem in the aries blueprint 
>>>> implementation as I'm not using KARAF nor FUSE, just a plain osgi 
>>>> container. Either that or I'm missing some blueprint configuration. I'm 
>>>> basically using blueprint:cm
>>>> 
>>>> 
>>>> As a workaround I can make a config file per bundle that needs it....
>>>> 
>>>> As follows the versions and bundles that I'm using related to the 
>>>> container (Running on top of Equinox 3.11):
>>>> 
>>>>  ID|State      |Level|Name
>>>>     5|Active     |    2|Apache Aries Whiteboard support for JMX 
>>>> DynamicMBean services (1.1.5)|1.1.5
>>>>     6|Active     |    2|Apache Aries JNDI Core (1.0.2)|1.0.2
>>>>    13|Active     |    3|Aries Remote Service Admin Topology Manager 
>>>> (1.9.0.SNAPSHOT)|1.9.0.SNAPSHOT
>>>>    15|Active     |    2|Aries JPA Container (1.0.2)|1.0.2
>>>>    21|Active     |    2|Apache Aries JNDI API (1.1.0)|1.1.0
>>>>    25|Active     |    3|Aries Remote Service Admin Discovery Gogo Commands 
>>>> (1.9.0.SNAPSHOT)|1.9.0.SNAPSHOT
>>>>    27|Active     |    2|Apache Aries Blueprint CM (1.0.7)|1.0.7
>>>>    29|Active     |    2|Apache Aries JMX Blueprint Core (1.1.5)|1.1.5
>>>>    37|Active     |    2|Apache Aries JNDI URL Handler (1.1.0)|1.1.0
>>>>    42|Active     |    2|Apache Aries JMX Core (1.1.5)|1.1.5
>>>>    46|Active     |    2|Apache Aries Blueprint Core (1.5.0)|1.5.0
>>>>    47|Resolved   |    4|Apache Aries Blueprint Core Compatiblity Fragment 
>>>> Bundle (1.0.0)|1.0.0
>>>>    55|Active     |    2|Apache Aries Util (1.1.1)|1.1.1
>>>>    56|Active     |    2|Aries JPA Container Managed Contexts (1.0.4)|1.0.4
>>>>    59|Active     |    2|Apache Aries Proxy API (1.0.1)|1.0.1
>>>>    67|Active     |    3|Aries Remote Service Admin Service Provider 
>>>> Interface (1.9.0.SNAPSHOT)|1.9.0.SNAPSHOT
>>>>    71|Active     |    2|Apache Aries Transaction Blueprint (1.1.1)|1.1.1
>>>>    73|Active     |    2|Aries JPA Container API (1.0.2)|1.0.2
>>>>    77|Active     |    2|Apache Aries JNDI Support for Legacy Runtimes 
>>>> (1.0.0)|1.0.0
>>>>    88|Active     |    2|Apache Aries JMX Blueprint API (1.1.5)|1.1.5
>>>>    89|Active     |    2|Apache Aries Transaction Manager (1.3.0)|1.3.0
>>>>    94|Active     |    3|Aries Remote Service Admin Discovery Config 
>>>> (1.9.0.SNAPSHOT)|1.9.0.SNAPSHOT
>>>>    97|Active     |    3|Aries Remote Service Admin provider TCP 
>>>> (1.9.0.SNAPSHOT)|1.9.0.SNAPSHOT
>>>>   110|Active     |    2|Apache Aries Blueprint Annotation API (1.0.1)|1.0.1
>>>>   120|Active     |    2|Apache Aries Transaction Blueprint (2.1.0)|2.1.0
>>>>   123|Active     |    2|Apache Aries JMX API (1.1.5)|1.1.5
>>>>   130|Active     |    2|Apache Aries Blueprint Annotation Impl 
>>>> (1.0.1)|1.0.1
>>>>   132|Active     |    3|Aries Remote Service Admin Discovery Zookeeper 
>>>> (1.9.0.SNAPSHOT)|1.9.0.SNAPSHOT
>>>>   134|Active     |    3|Aries Remote Service Admin Discovery Local 
>>>> (1.9.0.SNAPSHOT)|1.9.0.SNAPSHOT
>>>>   138|Active     |    3|Aries Remote Service Admin Core 
>>>> (1.9.0.SNAPSHOT)|1.9.0.SNAPSHOT
>>>>   139|Active     |    2|Apache Aries JNDI RMI Handler (1.0.0)|1.0.0
>>>>   143|Active     |    2|Apache Aries Proxy Service (1.0.4)|1.0.4
>>>>   146|Active     |    2|Apache Aries SPI Fly Dynamic Weaving Bundle 
>>>> (1.0.8)|1.0.8
>>>>   147|Active     |    2|Aries JPA Container blueprint integration for 
>>>> Aries blueprint (1.0.4)|1.0.4
>>>> 
>>>>    11|Active     |    4|Apache Felix File Install (3.5.4)|3.5.4
>>>>    19|Active     |    4|Apache Felix Gogo Shell (0.12.0)|0.12.0
>>>>    57|Active     |    4|Apache Felix Gogo Command (0.16.0)|0.16.0
>>>>   104|Active     |    4|Apache Felix Coordinator Service (1.0.2)|1.0.2
>>>>   109|Active     |    4|Apache Felix Gogo Runtime (0.16.2)|0.16.2
>>>>   114|Active     |    4|Apache Felix Web Management Console (1.2.8)|1.2.8
>>>>   148|Active     |    4|Apache Felix Configuration Admin Service 
>>>> (1.8.8)|1.8.8
>>>> 
>>>>    0|Active     |    0|OSGi System Bundle 
>>>> (3.11.0.v20160603-1336)|3.11.0.v20160603-1336
>>>> 
>>>> 
>>>> -- 
>>>> WARNING: Computer viruses can be transmitted via email. The recipient 
>>>> should check this email and any attachments for the presence of viruses. 
>>>> The company accepts no liability for any damage caused by any virus 
>>>> transmitted by this email. E-mail transmission cannot be guaranteed to be 
>>>> secure or error-free as information could be intercepted, corrupted, lost, 
>>>> destroyed, arrive late or incomplete, or contain viruses. The sender 
>>>> therefore does not accept liability for any errors or omissions in the 
>>>> contents of this message, which arise as a result of e-mail transmission.
>>>> 
>>>> Warning: Although the company has taken reasonable precautions to ensure 
>>>> no viruses are present in this email, the company cannot accept 
>>>> responsibility for any loss or damage arising from the use of this email 
>>>> or attachments.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Raymond Augé <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000)
>>>> Senior Software Architect Liferay, Inc. <http://www.liferay.com/> 
>>>> (@Liferay)
>>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org/> 
>>>> (@OSGiAlliance)
>>> 
>> 
>> 
>> 
>> 
>> -- 
>> Raymond Augé <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000)
>> Senior Software Architect Liferay, Inc. <http://www.liferay.com/> (@Liferay)
>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org/> (@OSGiAlliance)
> 
> 
> 
> 
> -- 
> Raymond Augé <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000)
> Senior Software Architect Liferay, Inc. <http://www.liferay.com/> (@Liferay)
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org/> (@OSGiAlliance)
> 
> 

Reply via email to