user5182503
user5182503

Reputation:

OSGI DS: properties -> ParseException

I use apache felix and I have the following annotation for my DS

@Component(immediate = false,properties = {"name:String=stub"})

Maven generates the following xml

<component ...>
<implementation ..../>
<service>
....
</service>
<properties enty="name:String=stub"/>
</component>

However, when I start this bundle I get the following:

ERROR: com.temp.biz (55): General problem with descriptor entry '/OSGI-INF/com.temp.MyClass.xml'
org.apache.felix.scr.impl.parser.ParseException: Exception during parsing
    at org.apache.felix.scr.impl.metadata.XmlHandler.startElement(XmlHandler.java:364)
    at org.apache.felix.scr.impl.parser.KXml2SAXParser.parseXML(KXml2SAXParser.java:82)
    at org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:245)
    at org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:158)
    at org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:120)
    at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:258)
    at org.apache.felix.scr.impl.Activator.access$000(Activator.java:45)
    at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:185)
    at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)
    at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:479)
    at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:414)
    at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
    at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:443)
    at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:913)

How to fix it? The problem disappears as soos as I remove properties from @Component.

Upvotes: 0

Views: 622

Answers (1)

Sean Bright
Sean Bright

Reputation: 120634

For the OSGi DS @Component annotation, you want to use property:

@Component(immediate = false, property = {"name:String=stub"})

For the Felix SCR annotations, refer to the documentation.

Upvotes: 1

Related Questions