[ https://issues.apache.org/jira/browse/CAMEL-12291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16374930#comment-16374930 ]
Andrea Cosentino edited comment on CAMEL-12291 at 2/23/18 8:34 PM: ------------------------------------------------------------------- The fix for 12251will be in 2.20.3, but it doesn't help was (Author: ancosen): The fix will be in 2.20.3 > Blueprint error: "name is already instanciated as null and cannot be removed" > ----------------------------------------------------------------------------- > > Key: CAMEL-12291 > URL: https://issues.apache.org/jira/browse/CAMEL-12291 > Project: Camel > Issue Type: Bug > Components: camel-blueprint > Affects Versions: 2.20.2 > Environment: Mac OSX, {color:#000000}Karaf 4.2.5{color} > Reporter: Alex Soto > Assignee: Grzegorz Grzybek > Priority: Major > > The error "name is already instanciated (sic) as null and cannot be removed" > is thrown when configuring a component in Blueprint using property > placeholders. > I noticed when trying to migrate my project to Camel 2.20.2 (from 2.17.4) > Example: > {code:java} > <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> > <bean id="audit-log-reaper-quartz" > class="org.apache.camel.component.quartz2.QuartzComponent"> > <property name="startDelayedSeconds" value="#{startDelaySeconds}" /> > </bean>{code} > > The bean is referenced in a Camel route: > {code:java} > <route id="reaper-scheduler"> > <from uri="[audit-log-reaper-quartz://reaper?cron=\{{cron}}]" /> > {code} > Throws exception: > {quote}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] > {quote} > > > Removing the property placeholder fixes the issue: > > {code:java} > <bean id="audit-log-reaper-quartz" > class="org.apache.camel.component.quartz2.QuartzComponent"> > > <property name="startDelayedSeconds" value="600" /> > </bean> > {code} > > According to Guillaume Nodet, this seems to have been introduced by this > pull request: > [https://github.com/apache/camel/commit/a4e94f036d02943814c84195d73837cf607c8c20] > Solution proposed by Guillaume Nodet is to change line 1056 of > /camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java > to > {code:java} > if (camelContext.getComponent(component, false) == null) { > {code} > I tested this change locally and it seems to work, however I don't know if > this can cause other problems. -- This message was sent by Atlassian JIRA (v7.6.3#76005)