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

Reply via email to