Bug 1307079 - [GSS](6.2.z) kie-aries-blueprint project fails to deploy if blueprint cm property-placeholder is used in blueprint
[GSS](6.2.z) kie-aries-blueprint project fails to deploy if blueprint cm prop...
Status: VERIFIED
Product: JBoss BRMS Platform 6
Classification: JBoss
Component: Fuse Integration (Show other bugs)
6.2.0
Unspecified Unspecified
high Severity unspecified
: CR1
: 6.2.2
Assigned To: Petr Široký
Jiri Petrlik
Petr Penicka
:
Depends On: 1307077
Blocks: 1309326 1309327
  Show dependency treegraph
 
Reported: 2016-02-12 11:11 EST by Petr Široký
Modified: 2016-03-08 09:04 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1307077
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker ENTESB-4896 Critical Resolved kie-aries-blueprint project fails to deploy if blueprint cm property-placeholder is used in blueprint 2016-05-31 04:39 EDT

  None (edit)
Description Petr Široký 2016-02-12 11:11:36 EST
+++ This bug was initially created as a clone of Bug #1307077 +++

Description of problem:
When deploying a camel blueprint application with a blueprint cm:property-placehoder defined as below:

<cm:property-placeholder persistent-id="org.drools.example.kie" update-strategy="reload" xmlns="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0">
        <cm:default-properties>
            <cm:property name="activeMQ.uri" value="tcp://localhost:61616" />
            <cm:property name="activeMQ.username" value="admin" />
            <cm:property name="activeMQ.password" value="admin" />
            <cm:property name="activeMQ.concurrentConsumers" value="100" />
        </cm:default-properties>
    </cm:property-placeholder>



The following stacktrace occurs:
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to initialize bean .droolsBlueprint.processor.bean.camel-context
	at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:714)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:824)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[23:org.apache.aries.blueprint.core:1.4.4]
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_91]
	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:247)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:230)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:155)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BlueprintContainerImpl.processProcessors(BlueprintContainerImpl.java:531)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:361)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:294)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:263)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:253)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[17:org.apache.aries.util:1.1.0]
	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[17:org.apache.aries.util:1.1.0]
	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[17:org.apache.aries.util:1.1.0]
	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[17:org.apache.aries.util:1.1.0]
	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[17:org.apache.aries.util:1.1.0]
	at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1127)[org.apache.felix.framework-4.4.1.jar:]
	at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)[org.apache.felix.framework-4.4.1.jar:]
	at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)[org.apache.felix.framework-4.4.1.jar:]
	at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4429)[org.apache.felix.framework-4.4.1.jar:]
	at org.apache.felix.framework.Felix.startBundle(Felix.java:2100)[org.apache.felix.framework-4.4.1.jar:]
	at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:976)[org.apache.felix.framework-4.4.1.jar:]
	at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:963)[org.apache.felix.framework-4.4.1.jar:]
	at org.apache.karaf.features.internal.FeaturesServiceImpl.doInstallFeatures(FeaturesServiceImpl.java:546)[10:org.apache.karaf.features.core:2.4.0.redhat-621084]
	at org.apache.karaf.features.internal.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:432)[10:org.apache.karaf.features.core:2.4.0.redhat-621084]
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_91]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_91]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_91]
	at java.lang.Thread.run(Thread.java:745)[:1.7.0_91]
Caused by: java.lang.ClassCastException: org.apache.aries.blueprint.ext.AbstractPropertyPlaceholder$LateBindingValueMetadata cannot be cast to org.apache.aries.blueprint.mutable.MutableValueMetadata
	at org.kie.aries.blueprint.namespace.KieObjectsInjector.getKieModuleModel(KieObjectsInjector.java:204)
	at org.kie.aries.blueprint.namespace.KieObjectsInjector.createOsgiKieModule(KieObjectsInjector.java:139)
	at org.kie.aries.blueprint.namespace.KieObjectsInjector.afterPropertiesSet(KieObjectsInjector.java:106)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_91]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_91]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_91]
	at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_91]
	at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:956)[23:org.apache.aries.blueprint.core:1.4.4]
	at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:712)[23:org.apache.aries.blueprint.core:1.4.4]
	... 32 more

Version-Release number of selected component (if applicable):
BxMS 6.2.1.GA


Steps to Reproduce:
See https://issues.jboss.org/browse/ENTESB-4896
Comment 2 Petr Široký 2016-02-23 09:22:40 EST
Cherry-picked into 6.3.x:
https://github.com/droolsjbpm/droolsjbpm-integration/commit/329185e125a33b854d53
Comment 3 Jiri Petrlik 2016-03-08 09:04:57 EST
Verified using BxMS 6.2.2.CR2, Integration package build 1.3.0.redhat-009 and reproducer attached to JIRA [1]. 

Note:
However, it was necessary to change camel-context.xml in reproducer. Placeholder "${activeMQ.uri}" should be changed to "{{activeMQ.uri}}".

[1] https://issues.jboss.org/browse/ENTESB-4896

Note You need to log in before you can comment on or make changes to this bug.