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