By the way, Is there some documentation on the topic? If not CM, what else should I use. I feel a bit dumb because I don't understand the "terminology" :).
Andrei On Fri, Sep 17, 2021 at 9:09 AM JB Onofré <j...@nanthrax.net> wrote: > Cm means that it’s backed with ConfigAdmin, so it uses metatype. > So my question is: what backend do you want : configadmin, file, … ? > > Regards > JB > > > Le 17 sept. 2021 à 07:50, Andrei Petru Mura <mapand...@gmail.com> a > écrit : > > > > Hi Jean, > > > > I think I provided a flat aries blueprint property placeholder backed > with > > a file in my initial mail. Maybe I don't understand what a "flat aries > > blueprint property placeholder" is. > > > > Thanks, > > Andrei > >> On Thu, Sep 16, 2021 at 5:49 PM Jean-Baptiste Onofré <j...@nanthrax.net> > >> wrote: > >> > >> You can use a flat aries blueprint property placeholder backed with > >> ConfigAdmin or a file. > >> > >> Is it what you want ? > >> > >> Regards > >> JB > >> > >>> On 16/09/2021 15:46, Andrei Petru Mura wrote: > >>> This definitely isn't a good option as I don't intend to make a > >> difference > >>> by the way in which I reference a variable. > >>> Anyway, property-placeholder doesn't seem to me to be a good option as > >> some > >>> of the variables inside my cfg file are seen, some aren't. For example > I > >>> get this: > >>> > >>> Error creating bean with name 'ftpClientFactory' defined in URL > >>> > >> > [bundle://afa89085-51c4-4cb3-a419-afeccd70a35f_304.0:0/OSGI-INF/blueprint/spring-conf/spring-context.xml]: > >>> Initialization of bean failed; nested exception is > >>> org.springframework.beans.TypeMismatchException: Failed to convert > >> property > >>> value of type 'java.lang.String' to required type 'int' for property > >>> 'reconnectRetries'; nested exception is > java.lang.NumberFormatException: > >>> For input string: "{{reconnect.retries}}" > >>> > >>> In the same spring context, another variable (which is present in the > >> same > >>> configuration file) is well referenced. > >>> > >>> Thanks, > >>> Andrei M. > >>> > >>>> On Thu, Sep 16, 2021 at 4:12 PM John Taylor <jtt77...@gmail.com> > wrote: > >>> > >>>> Hi, > >>>> > >>>> A single property-placeholder is only going to allow one backing > >>>> persistent-id. > >>>> You can instead create multiple property-placeholders with different > >> ids, > >>>> e.g. > >>>> <cm:property-placeholder id="propertiesBean" persistent-id=">. . . > >>>> <cm:property-placeholder id="edigrid.cluster" persistent-id=" >. . . > >>>> > >>>> see > >>>> > >>>> > >> > https://stackoverflow.com/questions/50354932/how-to-use-multiple-property-placeholder-in-jboss-fuse-blueprint > >>>> > >>>> Hope that helps. > >>>> -John > >>>> > >>>> On Thu, Sep 16, 2021 at 7:58 AM Andrei Petru Mura < > mapand...@gmail.com> > >>>> wrote: > >>>> > >>>>> Hi all, > >>>>> > >>>>> I'm trying to migrate my camel routes from an older karaf using > >> Spring-DM > >>>>> to a newer one using Blueprint. For this, I intend to import my > spring > >>>> XML > >>>>> configuration in my blueprint XML file. The camel context is defined > in > >>>> the > >>>>> blueprint XML file. > >>>>> Currently I'm stuck with a placeholder issue. I'm trying to import > some > >>>>> configuration properties from OSGI environment which are stored in a > >> few > >>>>> files under the ${karaf.home}/etc directory. > >>>>> I tried many ways according to this documentation page ( > >>>>> https://camel.apache.org/components/2.x/properties-component.html), > >> but > >>>>> still not getting the functionality which I want. > >>>>> > >>>>> On short, I want to be able to define in my XML files (blueprint, > >> spring) > >>>>> some default values for some properties, overriding them with the > >>>>> configurations found in the configuration files from > ${karaf.home}/etc/ > >>>> and > >>>>> be able to use them in in both blueprint XML and spring XML files. > >>>>> Preferable by ${variableName}. > >>>>> > >>>>> Currently, I did this: > >>>>> > >>>>> Blueprint XML: > >>>>> > >>>>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" > >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >>>>> xmlns:bean="http://www.springframework.org/schema/beans" > >>>>> xmlns:camel="http://camel.apache.org/schema/spring" > >>>>> xmlns:osgix=" > >> http://www.springframework.org/schema/osgi-compendium" > >>>>> xmlns:cm=" > >>>> http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0" > >>>>> xsi:schemaLocation=" > >>>>> http://www.springframework.org/schema/beans > >>>>> http://www.springframework.org/schema/beans/spring-beans.xsd > >>>>> http://camel.apache.org/schema/spring > >>>>> http://camel.apache.org/schema/spring/camel-spring.xsd > >>>>> http://www.springframework.org/schema/osgi-compendium > >>>>> > >>>>> > >>>> > >> > http://www.springframework.org/schema/osgi-compendium/spring-osgi-compendium.xsd > >>>>> "> > >>>>> > >>>>> <cm:property-placeholder id="propertiesBean" > >>>>> persistent-id="edigrid.persistence,edigrid.server.id > >>>>> ,edigrid.cluster,edigrid.ftpconfig,edigrid.reports"> > >>>>> <cm:default-properties>...</cm:default-properties> > >>>>> </cm:property-placeholder> > >>>>> > >>>>> ... > >>>>> > >>>>> <camelContext ...> > >>>>> <route ...> > >>>>> ... accessing ${configVarHere1} > >>>>> </route> > >>>>> </camelContext> > >>>>> </blueprint> > >>>>> > >>>>> <beans xmlns="http://www.springframework.org/schema/beans" > >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >>>>> xmlns:ctx="http://www.springframework.org/schema/context" > >>>>> xsi:schemaLocation="http://www.springframework.org/schema/beans > >>>>> http://www.springframework.org/schema/beans/spring-beans.xsd > >>>>> http://www.springframework.org/schema/context > >>>>> http://www.springframework.org/schema/context/spring-context.xsd"> > >>>>> > >>>>> <beans> > >>>>> > >>>>> <bean id="bridgePropertyPlaceholder" > >>>>> > >> class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer"> > >>>>> </bean> > >>>>> > >>>>> ...accessing ${configVarHere2} > >>>>> </beans> > >>>>> </beans> > >>>>> > >>>>> I get this kind of error (because of spring XML): > >>>>> Failed to convert property value of type 'java.lang.String' to > required > >>>>> type 'int' for property 'configPropName'; nested exception is > >>>>> java.lang.NumberFormatException: For input string: > "${configProprName}" > >>>>> > >>>>> after I get a few messages like: > >>>>> The property placeholder processor for ${, } in bundle > >>>>> bundleName/BundleVersion found an immutable Constructor Argument at > >>>>> location Bean named beanName->Argument index -1 and value type > null->. > >>>> This > >>>>> may prevent properties, beans, or other items referenced by this > >>>> component > >>>>> from being properly processed. > >>>>> > >>>>> Any idea how I can solve my issue? > >>>>> > >>>>> Thanks, > >>>>> Mura Andrei > >>>>> > >>>> > >>> > >> > >