You can use directly camel property placeholder with file in the location.
https://camel.apache.org/manual/latest/using-propertyplaceholder.html No need to use blueprint property placeholder if you don’t want configadmin backend. Regards JB > Le 17 sept. 2021 à 08:17, Andrei Petru Mura <mapand...@gmail.com> a écrit : > > 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 >>>>>>> >>>>>> >>>>> >>>> >> >>