Could you please raise a JIRA with the needed information and patch ?

2018-02-23 19:03 GMT+01:00 Alex Soto <alex.s...@envieta.com>:

> Thank you Guillaume,
>
> You are correct,  I tried your suggestion locally and it does work.
> I don’t know what are the potential side effects of this change though.
> Probably better that somebody more familiar with this code takes a look
> and fixes it.
>
> Best regards,
> Alex soto
>
>
> > On Feb 23, 2018, at 12:04 PM, Guillaume Nodet <gno...@apache.org> wrote:
> >
> > As I indicated on the Karaf mailing list, I suspect the problem comes
> from
> >
> > https://github.com/apache/camel/blob/master/components/
> camel-blueprint/src/main/java/org/apache/camel/blueprint/
> handler/CamelNamespaceHandler.java#L1056
> >
> > I think it should call getComponent(component, false) instead to ensure
> the
> > component is not created eagerly.
> >
> > The reason is that the exception is saying that the processor (the
> property
> > placeholder) can't process the bean because it has been already
> > instantiated.  And that call could be the culprit as the OSGi camel
> context
> > may attempt to create the component.
> >
> > That could break the original intent though, in which case, we'd need to
> go
> > to the blueprint container and check if the component is available
> without
> > creating it.
> >
> > Guillaume
> >
> >
> > 2018-02-23 17:55 GMT+01:00 Quinn Stevenson <qu...@pronoia-solutions.com
> >:
> >
> >> That makes more sense :-)
> >>
> >> When I’ve seen this kind of stuff before, it’s usually that the
> >> initialization of bean that is a dependency of another bean fails.  I
> start
> >> at the first exception I see - that usually points me to the right
> place.
> >>
> >> In this case, it’s acting like it can’t find a setter for the correct
> type
> >> - maybe that changed across Camel versions?
> >>
> >>> On Feb 23, 2018, at 6:49 AM, Alex Soto <alex.s...@envieta.com> wrote:
> >>>
> >>> The actual code is well-formed, this was just error formatting the code
> >> for the post.  I’ll try again:
> >>>
> >>>      <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
> >>>              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >>>              xmlns:camel="http://camel.apache.org/schema/blueprint";
> >>>              xmlns:cm="http://aries.apache.
> >> org/blueprint/xmlns/blueprint-cm/v1.1.0"
> >>>              xmlns:ext="http://aries.apache.org/blueprint/xmlns/
> >> blueprint-ext/v1.0.0"
> >>>              xsi:schemaLocation="
> >>>                      http://www.osgi.org/xmlns/blueprint/v1.0.0
> >>>                      https://www.osgi.org/xmlns/
> >> blueprint/v1.0.0/blueprint.xsd”>
> >>>
> >>>      <cm:property-placeholder persistent-id="audit.log"
> >>>              update-strategy="reload”
> >>>              placeholder-prefix="#{" placeholder-suffix="}">
> >>>              <cm:default-properties>
> >>>                      <cm:property name="audit-log.reaper.cron" value="0
> >> 0/30 * * * ?" />
> >>>                      <cm:property name="startDelaySeconds"
> >> value="600" />
> >>>              </cm:default-properties>
> >>>      </cm:property-placeholder>
> >>>
> >>>
> >>>
> >>>> On Feb 22, 2018, at 9:56 PM, Quinn Stevenson <
> >> qu...@pronoia-solutions.com> wrote:
> >>>>
> >>>> Is that really the XML?  It’s not well formed - you start with a
> >> cm:property-placeholder element and end with a cm:default-properties
> >> element.
> >>>>
> >>>>> On Feb 22, 2018, at 12:48 PM, Alex Soto <alex.s...@envieta.com>
> wrote:
> >>>>>
> >>>>> Hello,
> >>>>>
> >>>>> I am having some problems migrating to Camel 2.20.2 from 2.17.4.  I
> >> have blueprint configuration:
> >>>>>
> >>>>>            <cm:property-placeholder
> >>>>>                            persistent-id=“audit.log”
> >>>>>                            update-strategy="reload”
> >>>>>                            placeholder-prefix="#{"
> >> placeholder-suffix="}”>
> >>>>>
> >>>>>                    <cm:property name=“startDelaySeconds" value="600"
> >> />
> >>>>>                    <cm:property name="cron" value="0 0/30 * * * ?" />
> >>>>>            </cm:default-properties>
> >>>>>
> >>>>> A component configuration (in this case for Quartz2, but I don’t
> think
> >> this is related to Quartz2):
> >>>>>
> >>>>>    <bean id="audit-log-reaper-quartz" class="org.apache.camel.
> >> component.quartz2.QuartzComponent">
> >>>>>            <property name="startDelayedSeconds"
> >> value="#{startDelaySeconds}" />
> >>>>>    </bean>
> >>>>>
> >>>>> Then use this in a route:
> >>>>>
> >>>>>    <route id="reaper-scheduler">
> >>>>>            <from uri="audit-log-reaper-quartz:/
> /reaper?cron={{cron}}"
> >> />
> >>>>>            ...
> >>>>>
> >>>>> When I run this (Karaf 4.2.5) an exception is thrown:
> >>>>>
> >>>>> org.osgi.service.blueprint.container.ComponentDefinitionException:
> >> Name audit-log-reaper-quartz is already instanciated as null and cannot
> be
> >> removed.
> >>>>>    at org.apache.aries.blueprint.container.BlueprintRepository.
> >> removeRecipe(BlueprintRepository.java:131) [38:org.apache.aries.
> >> blueprint.core:1.8.3]
> >>>>>    at org.apache.aries.blueprint.container.BlueprintContainerImpl.
> >> updateUninstantiatedRecipes(BlueprintContainerImpl.java:572)
> >> [38:org.apache.aries.blueprint.core:1.8.3]
> >>>>>    at org.apache.aries.blueprint.container.BlueprintContainerImpl.
> >> processProcessors(BlueprintContainerImpl.java:559)
> [38:org.apache.aries.
> >> blueprint.core:1.8.3]
> >>>>>    at org.apache.aries.blueprint.container.
> >> BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:394)
> >> [38:org.apache.aries.blueprint.core:1.8.3]
> >>>>>    at org.apache.aries.blueprint.container.
> >> BlueprintContainerImpl.run(BlueprintContainerImpl.java:275)
> >> [38:org.apache.aries.blueprint.core:1.8.3]
> >>>>>
> >>>>>
> >>>>> This was working fine in Camel 2.17.4.  Interestingly,  if I remove
> >> property place holder:
> >>>>>
> >>>>>    <bean id="audit-log-reaper-quartz" class="org.apache.camel.
> >> component.quartz2.QuartzComponent">
> >>>>>            <property name="startDelayedSeconds" value="600" />
> >>>>>    </bean>
> >>>>>
> >>>>> Then it works fine, no errors.  So this seems to be related to the
> >> property placeholders.  Has anybody seen this?
> >>>>> I appreciate any insight on how to solve this problem.
> >>>>>
> >>>>> Best regards,
> >>>>> Alex soto
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>
> >>
> >>
> >
> >
> > --
> > ------------------------
> > Guillaume Nodet
>
>


-- 
------------------------
Guillaume Nodet

Reply via email to