blob: 7e61eea87e34f86312aa5060e518105037a58a19 [file] [log] [blame]
Bundle-Activator: org.apache.aries.tx.control.service.xa.impl.Activator
# Export the API so that this is an easily deployable bundle
Export-Package: org.osgi.service.transaction.control,\
org.osgi.service.transaction.control.recovery
# This bundle repackages code from a variety of places to make the
# implementation as easy as possible to deploy. There are some
# particularly important things though:
#
# * The JTA API package (javax.transaction) is private as we don't
# want it to leak into our class space. This is because javax.transaction
# is a split package in the JRE, and causes big problems due to its
# relationship with javax.transaction.xa and javax.sql. By hiding it
# internally we can protect our users from pain.
#
# * We must take javax.transaction.xa as an import because it is used
# by javax.sql and the Transaction Control API
#
# * We repackage the Geronimo Transaction Manager, and its Howl dependency.
# This further isolates users from the toxic javax.transaction split package
#
# * We repackage the common transaction service code so that we can be deployed
# as a single bundle.
Private-Package: javax.resource.spi, \
javax.transaction, \
org.apache.aries.tx.control.service.common.*, \
org.apache.aries.tx.control.service.xa.*, \
org.apache.geronimo.transaction.*, \
org.objectweb.howl.log.*
# This bundle carefully controls its imports. As third party code is
# embedded in this bundle we can to restrict our imports to only support
# the pieces that we actually use (i.e. ignore optional features).
# This must be done carefully!
#
# Note that we also fix the import for javax.transaction.xa so that it can
# come from the JRE.
Import-Package: !javax.resource.*, \
!org.objectweb.howl.*, \
javax.transaction.xa;version=0, \
org.osgi.service.transaction.control, \
*
Provide-Capability: osgi.service;objectClass="org.osgi.service.transaction.control.TransactionControl";osgi.local.enabled="true";osgi.xa.enabled="true";uses:="org.osgi.service.transaction.control"