I have a class @Bean(id = "WorkflowCommandProvider") @Service(autoExport = "all-classes") public class WorkflowCommandProvider implements CommandProvider { ....
inside a fragment. The host has the Bundle-Blueprint-Annotation: true Bundle-Header set. But now the WorkflowCommandProvider appears two times inside the generated annotation-generated-blueprint.xml: .... <reference interface="org.osgi.service.prefs.PreferencesService" id="PreferencesServiceWorkflowCommandProvider"/> <service auto-export="all-classes" ref="WorkflowCommandProvider"/> <bean class="de.clustest.workflow.commandprovider.internal.WorkflowCommandProvider" id="WorkflowCommandProvider"> <property ref="PreferencesServiceWorkflowCommandProvider" name="preferencesService"/> </bean> <reference interface="org.osgi.service.prefs.PreferencesService" id="PreferencesServiceWorkflowCommandProvider"/> <service auto-export="all-classes" ref="WorkflowCommandProvider"/> <bean class="de.clustest.workflow.commandprovider.internal.WorkflowCommandProvider" id="WorkflowCommandProvider"> <property ref="PreferencesServiceWorkflowCommandProvider" name="preferencesService"/> </bean> </blueprint> and an error is logged: org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to validate xml at org.apache.aries.blueprint.container.Parser.validate(Parser.java:288) at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:276) at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:228) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.xml.sax.SAXParseException: cvc-id.2: There are multiple occurrences of ID value 'PreferencesServiceWorkflowCommandProvider'. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:417) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3182) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processOneAttribute(XMLSchemaValidator.java:2777) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processAttributes(XMLSchemaValidator.java:2714) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:2066) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:705) at com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.beginNode(DOMValidatorHelper.java:273) at com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:240) at com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:186) at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:104) at javax.xml.validation.Validator.validate(Validator.java:127) at org.apache.aries.blueprint.container.Parser.validate(Parser.java:285) ... 10 more It seems the annotations are parsed with the host and a second time with the fragment. Can you please help me to solve this? thx Sandro