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

Reply via email to