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:
<blueprint xmlns:jpa="http://aries.apache.org/xmlns/jpa/v1.0.0"
xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0">
...
<bean id="tradeServicesBeanJPA-CM"
class="org.apache.aries.samples.ariestrader.persist.jpa.cm.TradeJpaCm"
init-method="init">
<jpa:context property="entityManager" unitname="ariestrader-cm" />
<tx:transaction method="*" value="Required"/>
</bean>
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