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 >>>>> >>>> >>> >>