I have to agree. In my usage of aries the blueprint runtime can see
namespace handlers that are hidden from the blueprint bundle.
Joe I'm happy to raise a JIRA against the plugin if you don't want to,
but we need this fixed.
Alasdair
On 25 Mar 2010, at 18:34, Timothy Ward <[email protected]> wrote:
I agree that this looks like a defect in the maven bundle plugin.
The services aren't used by the bundle, so they should not be
expressed as Import-Service entries for the bundle.
I am also very concerned that the Import-Service entries generated
are Aries specific. I have plans to add Spring DM/Gemini Blueprint
support for the Aries JPA container namespace (which I have now
formalized in JIRA Aries-268). Adding this Import-Service header may
prevent this support from being added, or at the very least lead to
unnecessary bundles (and their dependencies) being provisioned.
Essentially, someone who already has a Gemini blueprint
implementation installed may end up with Aries blueprint as well,
even though it is not necessary.
One final concern is that the Import-Service headers being generated
are non-standard (the OSGi spec says that the values have no
attributes). Isn't there a risk that this might break existing tools?
I am +1 for raising a bug.
Regards,
Tim
----------------------------------------
Date: Thu, 25 Mar 2010 13:58:15 -0400
From: [email protected]
To: [email protected]
Subject: maven-bundle-plugin generating Import-Service entries
I've noticed that recently the maven-bundle-plugin has started to
generate the following Import-Service entries for namespace
extensions
for JPA and declarative transactions. For example, in AriesTrader
there
is a jpa persistence bundle that uses both of these features and
therefore necessarily includes the following in the blueprint.xml:
xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0">
...
class=
"org.apache.aries.samples.ariestrader.persist.jpa.cm.TradeJpaCm"
init-method="init">
This now results in the following import-service entries being
generated
in the MANIFEST.MF:
Import-Service:
org.apache.aries.blueprint.NamespaceHandler;filter="(o
sgi.service.blueprint.namespace=http://aries.apache.org/xmlns/transac
tions/v1.0.0)",org.apache.aries.blueprint.NamespaceHandler;filter="(o
sgi.service.blueprint.namespace=http://aries.apache.org/xmlns/jpa/v1.
0.0)"
These just started appearing recently - perhaps due to some recent
change in the maven-bundle-plugin?
IIUC these services are really only used by the blueprint
implementation. They are not used directly by the application and
so it
seems to be inappropriate to include these in the MANIFEST for the
application bundle. Is this a defect for the maven-bundle-plugin?
Regards,
Joe
_________________________________________________________________
We want to hear all your funny, exciting and crazy Hotmail stories.
Tell us now
http://clk.atdmt.com/UKM/go/195013117/direct/01/