I've got a collection of bundles which use the Blueprint Service - with the blueprint resources in OSGI-INF/blueprint directories - to do DI that deploy and work correctly in Karaf. When I deploy them in Virgo they show up in the Artifacts>Bundles view but they aren't actually doing anything, e.g., not listening for connections, etc.
As a test I took one of the bundles, named listener, and created a 'spring' directory under META-INF and moved the OSGI-INF/blueprint/listener.xml file into it. After packaging this bundle throws an org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'blueprint' exception.
Ergo, it appears that Virgo is ignoring the OSGI-INF/blueprint directory and that there is some issue reading a standard blueprint specification which Karaf has no problems groking. This is too bad since Virgo - given its Spring-DM heritage - seems more "production ready" than does Karaf.
Is this a known problem, or will it be addressed in a future release?
The behavior you experience is actually "by design". Currently Virgo uses SpringDM 1.2.1, which is not the same as Blueprint Service. The Blueprint Service reference implementation is SpringDM 2.0.0M2. This is the reason Virgo ignores the blueprint folder and also can't recognise the <blueprint> element. In order to utilize SpringDM in the current Virgo release you have to use proper SpringDM xmls, located in META-INF/spring folder with all the proper beans definitions.
As for your question will this be addressed in future release - definitely. The Blueprint Service reference implementation(Gemini Blueprint) is currently being finalized - it should be completed in Q1 2011. Then we will plan an adoption path and at the end Virgo will fully support Blueprint Services once we replace the current SpringDM with the first release of Gemini Blueprint.
Hopefully that means the 3.0.0 release of Virgo, but it could be further down the line. Nothing certain here.
Please note that the change is covered by bug 317943. You may care to comment on the bug to add your support for it (I don't think voting is enabled).
Some users are already experimenting by deploying Gemini Blueprint M1 into Virgo in order to try out blueprint-based bundles. It doesn't seem to conflict too badly with Virgo's own use of Spring DM 1.2.1, possibly because the Spring DM 2.x support inside Gemini Blueprint ignores the 1.2.x namespace. If you try that approach, I would recommend putting the Gemini Blueprint bundles in repository/usr, creating a plan that references them and adding that plan to repository/usr, and then deploying that plan by adding it to the initialArtifacts property in the user region configuration file. See here for more details, although you'll need to adjust the namespace of the plan, assuming you are using Virgo 2.1.0.RELEASE.
However, I wouldn't recommend using blueprint in production on virgo until bug 317943 is implemented.