[jira] Commented: (GERONIMO-4711) Geronimo Blueprint throws org.osgi.service.blueprint.container.ComponentDefinitionException: Cound not create component instance
[ https://issues.apache.org/jira/browse/GERONIMO-4711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12724430#action_12724430 ] Hendy Irawan commented on GERONIMO-4711: I've diagnosed the issue and after crawling through Karaf, Gshell, and Geronimo Blueprint sources, I've decided that the problem in that Gshell's namespace handler for Blueprint doesn't provide means to do what I'm trying to do, namely creating a CommandAction using factory. However, factory creation is supported by Blueprint. So I'm blaming this on Gshell's inadequate support for XML-based configuration at the moment hehe. For now, in order to workaround the problem, I have to create the bean structure manually and export it as OSGi service using Blueprint, i.e. not using GShell namespace at all. I'll make sure to discuss this with GShell guys in order to support factory pattern inside Blueprint XML, as I think this is essential feature. I'm attaching my current (working) Blueprint XML below, for future reference. In addition, I'm also adding XML Schema locations here so IDE support for XML editing is enabled. I find it hard to find documentation on XML syntax for both Blueprint and GShell, and unfortunately all samples I've found never mentioned the XSD location considering it is very useful to remove guesswork. IMHO, A reference to XSD in SVN is still better than no XSD at all. ?xml version=1.0 encoding=UTF-8? blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://www.osgi.org/xmlns/blueprint/v1.0.0 http://svn.apache.org/repos/asf/geronimo/sandbox/blueprint/blueprint-core/src/main/resources/org/apache/geronimo/blueprint/blueprint.xsd http://felix.apache.org/karaf/xmlns/gshell/v1.0.0 http://svn.apache.org/repos/asf/felix/trunk/karaf/gshell/gshell-core/src/main/resources/org/apache/felix/karaf/gshell/core/karaf-gshell.xsd; command-bundle xmlns=http://felix.apache.org/karaf/xmlns/gshell/v1.0.0; command name=ou/hello action class=com.openubiquity.caterpillar.HelloAction property name=bundleContext ref=blueprintBundleContext/ /action /command command name=ou/iam action class=com.openubiquity.caterpillar.IamAction property name=bundleContext ref=blueprintBundleContext/ /action /command command name=ou/show action factory-bean=qi4jApp factory-method=createShowState property name=bundleContext ref=blueprintBundleContext/ property name=project ref=theProject / /action /command command name=ou/save action class=com.openubiquity.caterpillar.SaveState property name=bundleContext ref=blueprintBundleContext/ property name=project ref=theProject / /action /command /command-bundle bean id=helloCreator class=com.openubiquity.caterpillar.HelloCreator property name=bundleContext ref=blueprintBundleContext/ /bean bean id=hello2Action factory-ref=helloCreator factory-method=createHello / bean id=hello2Command class=org.apache.geronimo.gshell.wisdom.command.StatelessCommand property name=beanContainer bean class=org.apache.felix.karaf.gshell.core.BeanContainerWrapper argument ref=blueprintContainer / /bean /property property name=action ref=hello2Action / property name=location bean class=org.apache.geronimo.gshell.wisdom.registry.CommandLocationImpl argument value=ou/hello2 / /bean /property /bean service id=hello2CommandSvc ref=hello2Command interfaces valueorg.apache.geronimo.gshell.command.Command/value /interfaces /service bean id=show2Command class=org.apache.geronimo.gshell.wisdom.command.StatelessCommand property name=beanContainer bean class=org.apache.felix.karaf.gshell.core.BeanContainerWrapper argument ref=blueprintContainer / /bean /property property name=action bean factory-ref=qi4jApp factory-method=createShowState property name=bundleContext ref=blueprintBundleContext/ property name=project ref=theProject / /bean /property property name=location bean class=org.apache.geronimo.gshell.wisdom.registry.CommandLocationImpl argument value=ou/show2 / /bean /property /bean service id=show2CommandSvc ref=show2Command interfaces
[jira] Commented: (GERONIMO-4711) Geronimo Blueprint throws org.osgi.service.blueprint.container.ComponentDefinitionException: Cound not create component instance
[ https://issues.apache.org/jira/browse/GERONIMO-4711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12724135#action_12724135 ] Jarek Gawor commented on GERONIMO-4711: --- Right now, you can find the blueprint.xsd either in the blueprint-bundle.jar or you can access it directly from svn: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/resources/org/apache/geronimo/blueprint/blueprint.xsd?view=co Also, please attach a full stack trace of the exception you are seeing. Geronimo Blueprint throws org.osgi.service.blueprint.container.ComponentDefinitionException: Cound not create component instance Key: GERONIMO-4711 URL: https://issues.apache.org/jira/browse/GERONIMO-4711 Project: Geronimo Issue Type: Bug Security Level: public(Regular issues) Environment: Ubuntu 9.04, Sun JDK 6u10, Felix 1.8.0, Karaf SNAPSHOT, Blueprint SNAPSHOT Reporter: Hendy Irawan Attachments: caterpillar-blueprint-bug-sampler.tar.bz2 Component should be Geronimo Blueprint, but I can't find it in the list. Relevant context of my Blueprint XML is as below. Do I write the XML correctly? ?xml version=1.0 encoding=UTF-8? blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; command-bundle xmlns=http://felix.apache.org/karaf/xmlns/gshell/v1.0.0; command name=ou/show action factory-bean=qi4jApp factory-method=createShowState property name=bundleContext ref=blueprintBundleContext/ property name=project ref=theProject / /action /command /command-bundle bean id=qi4jApp class=com.openubiquity.caterpillar.Qi4jApp /bean bean id=theProject class=com.openubiquity.caterpillar.SpringProject property name=name value=Caterpillar / property name=contextFiles list valuebundle-context-osgi.xml/value valuebundle-context.xml/value /list /property /bean /blueprint BTW, what is the URL of Blueprint XSD ? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (GERONIMO-4711) Geronimo Blueprint throws org.osgi.service.blueprint.container.ComponentDefinitionException: Cound not create component instance
[ https://issues.apache.org/jira/browse/GERONIMO-4711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12724211#action_12724211 ] Lin Sun commented on GERONIMO-4711: --- Where is the component definition for this gshell-160? I don't see it in the blueprint.xml file of the attached archive. Geronimo Blueprint throws org.osgi.service.blueprint.container.ComponentDefinitionException: Cound not create component instance Key: GERONIMO-4711 URL: https://issues.apache.org/jira/browse/GERONIMO-4711 Project: Geronimo Issue Type: Bug Security Level: public(Regular issues) Environment: Ubuntu 9.04, Sun JDK 6u10, Felix 1.8.0, Karaf SNAPSHOT, Blueprint SNAPSHOT Reporter: Hendy Irawan Attachments: caterpillar-blueprint-bug-sampler.tar.bz2, caterpillar-blueprint-stacktrace.txt Component should be Geronimo Blueprint, but I can't find it in the list. Relevant context of my Blueprint XML is as below. Do I write the XML correctly? ?xml version=1.0 encoding=UTF-8? blueprint xmlns=http://www.osgi.org/xmlns/blueprint/v1.0.0; command-bundle xmlns=http://felix.apache.org/karaf/xmlns/gshell/v1.0.0; command name=ou/show action factory-bean=qi4jApp factory-method=createShowState property name=bundleContext ref=blueprintBundleContext/ property name=project ref=theProject / /action /command /command-bundle bean id=qi4jApp class=com.openubiquity.caterpillar.Qi4jApp /bean bean id=theProject class=com.openubiquity.caterpillar.SpringProject property name=name value=Caterpillar / property name=contextFiles list valuebundle-context-osgi.xml/value valuebundle-context.xml/value /list /property /bean /blueprint BTW, what is the URL of Blueprint XSD ? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.