[ https://issues.apache.org/jira/browse/ARIES-1635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16180497#comment-16180497 ]
Grzegorz Grzybek commented on ARIES-1635: ----------------------------------------- I checked the same with exactly bp.core 1.6.2 and bp.cm 1.0.8 and it still works... > BeanMetadata parsing issue when ext and cm are combined. > -------------------------------------------------------- > > Key: ARIES-1635 > URL: https://issues.apache.org/jira/browse/ARIES-1635 > Project: Aries > Issue Type: Bug > Components: Blueprint > Affects Versions: blueprint-core-1.6.2, blueprint-cm-1.0.8 > Reporter: Chris Odom > Assignee: Grzegorz Grzybek > > {noformat} > org.osgi.service.blueprint.container.ComponentDefinitionException: Multiple > placeholders with the same prefix and suffix are not allowed > at > org.apache.aries.blueprint.ext.PlaceholdersUtils.validatePlaceholder(PlaceholdersUtils.java:49)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.blueprint.ext.impl.ExtNamespaceHandler.parsePropertyPlaceholder(ExtNamespaceHandler.java:367)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.blueprint.ext.impl.ExtNamespaceHandler.parse(ExtNamespaceHandler.java:165)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.blueprint.parser.Parser.parseCustomElement(Parser.java:1369)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.blueprint.parser.Parser.loadComponents(Parser.java:427)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.blueprint.parser.Parser.populate(Parser.java:331)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:349)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[21:org.apache.aries.blueprint.core:1.6.2] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[30:org.apache.aries.util:1.1.1] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[30:org.apache.aries.util:1.1.1] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[30:org.apache.aries.util:1.1.1] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[30:org.apache.aries.util:1.1.1] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[30:org.apache.aries.util:1.1.1] > at > org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)[org.apache.felix.framework-5.4.0.jar:] > at > org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:731)[org.apache.felix.framework-5.4.0.jar:] > at > org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:486)[org.apache.felix.framework-5.4.0.jar:] > at > org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)[org.apache.felix.framework-5.4.0.jar:] > at > org.apache.felix.framework.Felix.startBundle(Felix.java:2172)[org.apache.felix.framework-5.4.0.jar:] > at > org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)[org.apache.felix.framework-5.4.0.jar:] > at > org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)[org.apache.felix.framework-5.4.0.jar:] > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1286)[8:org.apache.karaf.features.core:4.0.7] > at > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:846)[8:org.apache.karaf.features.core:4.0.7] > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1176)[8:org.apache.karaf.features.core:4.0.7] > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:1074)[8:org.apache.karaf.features.core:4.0.7] > at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_111] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_111] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_111] > at java.lang.Thread.run(Thread.java:745)[:1.8.0_111] > {noformat} > Debug of BeanMetadata: > {noformat} > BeanMetadata[id='system-database-config', initialization=0, dependsOn=null, > className='null', initMethodName='init', destroyMethodName='null', \ > arguments=null, properties= [ \ > BeanProperty[name='placeholderPrefix', > value=ValueMetadata[stringValue='${', type='null']], \ > BeanProperty[name='placeholderSuffix', > value=ValueMetadata[stringValue='}', type='null']] \ > ], factoryMethodName='null', factoryComponent=null, scope='singleton', > runtimeClass=class org.apache.aries.blueprint.ext.PropertyPlaceholder, > fieldInjection=false] > {noformat} > blueprint.xml: > {code:xml} > <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0" > xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.5.0" > xsi:schemaLocation=" > http://www.osgi.org/xmlns/blueprint/v1.0.0 > http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd > http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0 > http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd > http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.5.0 > http://aries.apache.org/schemas/blueprint-ext/blueprint-ext-1.5.xsd"> > <cm:property-placeholder id="application-database-config" > persistent-id="com.nolimitssoft" update-strategy="none" /> > <!-- Allow the use of system properties --> > <ext:property-placeholder id="system-database-config" > placeholder-prefix="$[" placeholder-suffix="]" /> > ... > </blueprint> > {code} > You will notice that the Blueprint bean uses prefix and suffix properties but > the BeanMetadata does not reflect those properties. -- This message was sent by Atlassian JIRA (v6.4.14#64029)