Hi, I'm going more confused.....
I tried to comment the injection: // @Reference(target = "(osgi.unit.name=tasklist)") // void setProvider(JPAEntityManagerProvider provider) { // em = provider.getResource(txControl); // } and to get the provider this way: @Reference void setTxControl(TransactionControl txControl) { this.txControl = txControl; try { Collection<ServiceReference<JPAEntityManagerProviderFactory>> refemfps = Activator.getContext().getServiceReferences(JPAEntityManagerProviderFactory.class, null); Collection<ServiceReference<EntityManagerFactory>> refemfs = Activator.getContext().getServiceReferences(EntityManagerFactory.class, "( osgi.unit.name=tasklist)"); JPAEntityManagerProviderFactory pf = Activator.getContext().getService(refemfps.iterator().next()); EntityManagerFactory emf = Activator.getContext().getService(refemfs.iterator().next()); Map<String, Object> pars = new HashMap<>(); pars.put("osgi.unit.name", "tasklist"); JPAEntityManagerProvider p = pf.getProviderFor(emf, pars); em = p.getResource(txControl); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } It worked (!!) and I get working the read methods: public Collection<Task> getTasks() { return txControl.supports(() -> { CriteriaQuery<Task> query = em.getCriteriaBuilder().createQuery(Task.class); return em.createQuery(query.select(query.from(Task.class))).getResultList(); }); } But the write methods fails: @Override public void addTask(Task task) throws Exception { if (task.getId() == null) { throw new Exception("Id property must be set"); } System.err.println("Adding task " + task.getId()); *//Here txControl.activeTransaction()=false* txControl.required(()-> { *//Here txControl.activeTransaction()=true* em.persist(task); * //Here TransactionRequiredException: Explicitly joining a JTA transaction requires a JTA transaction be currently active* em.flush(); return null; }); } Now I really can't undertand: 1) why the injection of JPAEntityManagerProvider fails while it can be got with common BundleContext.getServiceReferences? 2) why I obtain a TransactionRequiredException when I checked in debugger that txControl.activeTransaction()=true inside the txControl.required block? Any help would be very useful. Tnx 2018-08-19 14:11 GMT+02:00 Piero <pierospine...@gmail.com>: > Digging some deeper in the environment, I saw that it exists a bundle > (ID=84) that should provide the missing service, so I cannot understand why > this service does not result suitable for other bundles: > > karaf@test()> classes 84 | grep -i JPAEntityManagerProvider > org/apache/aries/tx/control/jpa/common/impl/AbstractJPAEntityManagerProvid > er.class > org/apache/aries/tx/control/jpa/common/impl/DelayedJPAEntityManagerProvide > r.class > org/apache/aries/tx/control/jpa/common/impl/InternalJPAEntityManagerProvid > erFactory.class > org/apache/aries/tx/control/jpa/common/impl/ResourceTrackingJPAEntityManag > erProviderFactory.class > org/apache/aries/tx/control/jpa/xa/impl/JPAEntityManagerProviderFactor > yImpl$1.class > org/apache/aries/tx/control/jpa/xa/impl/JPAEntityManagerProviderFactor > yImpl$EnlistingDataSource.class > org/apache/aries/tx/control/jpa/xa/impl/JPAEntityManagerProviderFactor > yImpl.class > org/apache/aries/tx/control/jpa/xa/impl/JPAEntityManagerProviderImpl.class > org/osgi/service/transaction/control/jpa/JPAEntityManagerProvider.class > org/osgi/service/transaction/control/jpa/JPAEntityManagerProviderFactor > y.class > > > karaf@test()> headers 84 > > OSGi Transaction Control JPA Resource Provider - XA Transactions (84) > --------------------------------------------------------------------- > Archiver-Version = Plexus Archiver > Bnd-LastModified = 1525104456341 > Build-Jdk = 1.8.0_152 > Built-By = timothyjward > Created-By = 1.8.0_152 (Oracle Corporation) > Implementation-Title = OSGi Transaction Control JPA Resource Provider - XA > Transactions > Implementation-Vendor = The Apache Software Foundation > Implementation-Vendor-Id = org.apache.aries.tx-control > Implementation-Version = 1.0.0 > Manifest-Version = 1.0 > Specification-Title = OSGi Transaction Control JPA Resource Provider - XA > Transactions > Specification-Vendor = The Apache Software Foundation > Specification-Version = 1.0.0 > Tool = Bnd-3.3.0.201609221906 > > Bundle-Activator = org.apache.aries.tx.control.jpa.xa.impl.Activator > Bundle-ManifestVersion = 2 > Bundle-Name = OSGi Transaction Control JPA Resource Provider - XA > Transactions > Bundle-SymbolicName = tx-control-provider-jpa-xa > Bundle-Version = 1.0.0 > > Provide-Capability = > osgi.service; > uses:=org.osgi.service.transaction.control.jpa; > objectClass=org.osgi.service.transaction.control.jpa. > JPAEntityManagerProvider; > osgi.xa.enabled=true, > osgi.service; > uses:=org.osgi.service.transaction.control.jpa; > objectClass=org.osgi.service.transaction.control.jpa. > JPAEntityManagerProviderFactory; > osgi.xa.enabled=true > .... > karaf@test()> services 84 > > OSGi Transaction Control JPA Resource Provider - XA Transactions (84) > provides: > ------------------------------------------------------------ > ------------------- > [org.osgi.service.transaction.control.jpa.JPAEntityManagerProviderFactory] > [org.osgi.service.cm.ManagedServiceFactory] > > > > > 2018-08-19 8:42 GMT+02:00 Piero <pierospine...@gmail.com>: > >> Hi, >> >> I would like to receive some help about a non resolving provider service >> in a very simple test bundle I wrote to test TransactionControl with >> JPAEntityManagerProvider usage with Hibernate on Karaf 4.2. >> >> The core of the program is a "DAO Service" and both interface and >> implementation are reported below. >> >> It seems the bundle hangs waiting for this missing service provider: >> @Reference(target = "(osgi.unit.name=tasklist)") >> void setProvider(JPAEntityManagerProvider provider) >> >> Is anyone so kind to explain me what is missing? >> >> I included the list of features and bundle installed on karaf as well. >> >> I created the datasource this way: >> jdbc:ds-create -dbName reactive -dn mysql -dc com.mysql.jdbc.Driver >> -u root -p root -url "jdbc:mysql://localhost:3306/reactive" reactive >> >> Thanks in advance >> >> >> API------------------------------------------------------------------- >> >> package fake.test.xa.api; >> >> import java.util.Collection; >> >> import javax.jws.WebService; >> >> public interface TaskService { >> Task getTask(Integer id); >> >> void addTask(Task task) throws Exception; >> >> void updateTask(Task task) throws Exception; >> >> void deleteTask(Integer id) throws Exception; >> >> Collection<Task> getTasks(); >> } >> >> IMPL-------------------------------------------------------- >> ----------------------------- >> >> package fake.test.xa.internal; >> >> import java.util.Collection; >> import java.util.Date; >> >> import javax.persistence.EntityManager; >> import javax.persistence.criteria.CriteriaQuery; >> >> import org.osgi.framework.BundleContext; >> import org.osgi.service.component.annotations.Activate; >> import org.osgi.service.component.annotations.Component; >> import org.osgi.service.component.annotations.Deactivate; >> import org.osgi.service.component.annotations.Reference; >> import org.osgi.service.transaction.control.TransactionControl; >> import org.osgi.service.transaction.control.jpa.JPAEntityManagerProvider; >> >> import fake.test.xa.api.Task; >> import fake.test.xa.api.TaskService; >> >> @Component(immediate=true) >> public class TaskServiceImpl implements TaskService { >> >> TransactionControl txControl; >> >> EntityManager em; >> @Reference >> void setTxControl(TransactionControl txControl) { >> this.txControl = txControl; >> } >> void unsetTxControl(TransactionControl txControl) { >> this.txControl = null; >> } >> >> @Reference(target = "(osgi.unit.name=tasklist)") >> void setProvider(JPAEntityManagerProvider provider) { >> em = provider.getResource(txControl); >> } >> >> @Activate >> private void activate(BundleContext ctx) { >> System.out.println("Starting the service "+ getClass().getName() >> +" at "+new Date()); >> } >> @Deactivate >> private void deactivate(BundleContext ctx) { >> System.out.println("Stopping the service"+ getClass().getName() >> +" at "+new Date()); >> } >> >> @Override >> public Task getTask(Integer id) { >> return txControl.supports(() -> em.find(Task.class, id)); >> } >> >> @Override >> public void addTask(Task task) throws Exception { >> if (task.getId() == null) { >> throw new Exception("Id property must be set"); >> } >> System.err.println("Adding task " + task.getId()); >> >> txControl.required(()-> { >> em.persist(task); >> em.flush(); >> return null; >> }); >> >> } >> >> public Collection<Task> getTasks() { >> return txControl.supports(() -> { >> CriteriaQuery<Task> query = em.getCriteriaBuilder().create >> Query(Task.class); >> return em.createQuery(query.select(qu >> ery.from(Task.class))).getResultList(); >> }); >> } >> >> @Override >> public void updateTask(Task task) throws Exception{ >> if (task.getId() == null) { >> throw new Exception("Id property must be set"); >> } >> System.err.println("Updating task " + task.getId()); >> >> if(null==getTask(task.getId())) { >> throw new Exception("Task never registered before"); >> } >> >> txControl.required(() -> { >> em.merge(task); >> em.flush(); >> return null; >> }); >> >> } >> >> @Override >> public void deleteTask(Integer id) throws Exception { >> System.err.println("Deleting task " + id); >> >> txControl.required(() -> { >> Task task = getTask(id); >> if (task == null) { >> throw new RuntimeException("Task with id="+id+" not found"); >> } >> em.remove(task); >> em.flush(); >> return null; >> }); >> >> } >> >> >> } >> >> PERSISTENCE.XML---------------------------------------------------- >> <?xml version="1.0" encoding="UTF-8"?> >> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence >> http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> >> >> <persistence-unit name="tasklist" transaction-type="JTA"> >> <provider>org.hibernate.jpa.HibernatePersistenceProvider</pr >> ovider> >> <jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jnd >> i.service.name=reactive)</jta-data-source> >> <properties> >> <property name="hibernate.dialect" >> value="org.hibernate.dialect.MySQLDialect"/> >> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> >> </properties> >> </persistence-unit> >> >> </persistence> >> >> >> POM.XML---------------------------------------------------- >> >> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" >> http://www.w3.org/2001/XMLSchema-instance" >> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >> http://maven.apache.org/xsd/maven-4.0.0.xsd"> >> <modelVersion>4.0.0</modelVersion> >> >> <groupId>fake</groupId> >> <artifactId>test.xa</artifactId> >> <version>0.0.1-SNAPSHOT</version> >> <name>fake.test.xa</name> >> <packaging>bundle</packaging> >> >> <properties> >> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> >> >> <java.version>1.8</java.version> >> <osgi.version>6.0.0</osgi.version> >> <osgi.compendium.version>5.0.0</osgi.compendium.version> >> >> <aries.jpa.version>2.2.0</aries.jpa.version> >> >> <dosgi.version>2.3.0</dosgi.version> >> <aQute.version>1.50.0</aQute.version> >> <enroute.version>2.0.0</enroute.version> >> >> <karaf.shell.console.version>4.0.3</karaf.shell.console.version> >> >> <maven.bundle.plugin.version>3.3.0</maven.bundle.plugin.version> >> <maven-resources-plugin.version>3.0.2</maven-resources-plugin.version> >> >> <transaction.version>2.0.0</transaction.version> >> <transaction-api.version>1.2</transaction-api.version> >> <jdbc.version>1.2.1</jdbc.version> >> <aries.tx.control.version>1.0.0</aries.tx.control.version> >> >> <baseline.skip>true</baseline.skip> >> >> <topDirectoryLocation>..</topDirectoryLocation> >> </properties> >> >> <dependencies> >> <dependency> >> <groupId>org.osgi</groupId> >> <artifactId>osgi.core</artifactId> >> <version>${osgi.version}</version> >> </dependency> >> >> <dependency> >> <groupId>org.osgi</groupId> >> <artifactId>osgi.cmpn</artifactId> >> <version>${osgi.compendium.version}</version> >> </dependency> >> >> <dependency> >> <groupId>biz.aQute</groupId> >> <artifactId>bndlib</artifactId> >> <version>${aQute.version}</version> >> </dependency> >> >> <dependency> >> <groupId>org.osgi</groupId> >> <artifactId>osgi.enroute.base.api</artifactId> >> <version>${enroute.version}</version> >> </dependency> >> >> <dependency> >> <groupId>org.apache.karaf.shell</groupId> >> <artifactId>org.apache.karaf.shell.console</artifactId> >> <version>${karaf.shell.console.version}</version> >> </dependency> >> >> <dependency> >> <groupId>javax.transaction</groupId> >> <artifactId>javax.transaction-api</artifactId> >> <version>${transaction-api.version}</version> >> </dependency> >> >> <dependency> >> <groupId>org.apache.aries.jpa</groupId> >> <artifactId>org.apache.aries.jpa.api</artifactId> >> <version>${aries.jpa.version}</version> >> </dependency> >> <dependency> >> <groupId>org.apache.aries.jpa</groupId> >> <artifactId>org.apache.aries.jpa.support</artifactId> >> <version>${aries.jpa.version}</version> >> </dependency> >> >> >> <dependency> >> <groupId>org.hibernate.javax.persistence</groupId> >> <artifactId>hibernate-jpa-2.1-api</artifactId> >> <version>1.0.0.Final</version> >> </dependency> >> >> <dependency> >> <groupId>org.apache.aries.tx-control</groupId> >> <artifactId>tx-control-service-xa</artifactId> >> <version>${aries.tx.control.version}</version> >> </dependency> >> <dependency> >> <groupId>org.apache.aries.tx-control</groupId> >> <artifactId>tx-control-provider-jpa-xa</artifactId> >> <version>${aries.tx.control.version}</version> >> </dependency> >> </dependencies> >> >> >> >> >> <build> >> <resources> >> <resource> >> <directory>src/main/resources</directory> >> <filtering>true</filtering> >> </resource> >> </resources> >> >> <pluginManagement> >> <plugins> >> >> <plugin> >> <groupId>org.apache.felix</groupId> >> <artifactId>maven-bundle-plugin</artifactId> >> <version>${maven.bundle.plugin.version}</version> >> </plugin> >> >> <plugin> >> <groupId>org.apache.maven.plugins</groupId> >> <artifactId>maven-resources-plugin</artifactId> >> <version>${maven-resources-plugin.version}</version> >> </plugin> >> </plugins> >> </pluginManagement> >> >> <plugins> >> <plugin> >> <groupId>org.apache.maven.plugins</groupId> >> <artifactId>maven-compiler-plugin</artifactId> >> <configuration> >> <source>${java.version}</source> >> <target>${java.version}</target> >> </configuration> >> </plugin> >> >> <plugin> >> <groupId>org.apache.felix</groupId> >> <artifactId>maven-bundle-plugin</artifactId> >> <extensions>true</extensions> >> <configuration> >> <instructions> >> <_include>-bnd.bnd</_include> >> <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> >> <Bundle-Version>${project.version}</Bundle-Version> >> <Service-Component>*</Service-Component> >> <Bundle-Activator>fake.test.xa.internal.Activator</Bundle-Activator> >> <!-- <Export-Package>fake.test.xa.*;version=${project.version} >> </Export-Package> --> >> <Import-Package>*</Import-Package> >> <Meta-Persistence>META-INF/persistence.xml</Meta-Persistence> >> </instructions> >> </configuration> >> </plugin> >> >> </plugins> >> </build> >> </project> >> >> ----------------------------------------------------------------- >> >> >> karaf@test()> diag 98 >> fake.test.xa (98) >> ----------------- >> Status: Waiting >> Declarative Services >> xa.command (9) >> missing references: TaskService >> fake.test.xa.internal.TaskServiceImpl (8) >> missing references: Provider >> >> >> >> karaf@test()> feature:list -i >> Name | Version | Required | State | >> Repository | Description >> -----------------------------+-------------+----------+----- >> ----+--------------------------+---------------------------- >> ---------------------- >> aries-proxy | 4.2.0.M1 | | Started | >> standard-4.2.0.M1 | Aries Proxy >> feature | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Features Support >> shell | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Karaf Shell >> deployer | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Karaf Deployer >> bundle | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Provide Bundle support >> config | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Provide OSGi ConfigAdmin support >> diagnostic | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Provide Diagnostic support >> instance | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Provide Instance support >> jaas | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Provide JAAS support >> log | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Provide Log support >> package | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Package commands and mbeans >> service | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Provide Service support >> system | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Provide System support >> kar | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Provide KAR (KARaf archive) support >> ssh | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Provide a SSHd server on Karaf >> management | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Provide a JMX MBeanServer and a set of MBeans in >> eventadmin | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | OSGi Event Admin service specification for event- >> scr | 4.2.0.M1 | x | Started | >> standard-4.2.0.M1 | Declarative Service support >> wrap | 2.5.3 | x | Started | >> standard-4.2.0.M1 | Wrap URL handler >> pax-transx-tm-api | 0.2.0 | | Started | >> pax-transx-0.2.0 | >> pax-transx-tm-geronimo | 0.2.0 | | Started | >> pax-transx-0.2.0 | >> hibernate-orm | 5.2.8.Final | | Started | >> hibernate-osgi | Combines all Hibernate core dependencies and requ >> transaction-api | 1.2.0 | | Started | >> enterprise-4.2.0.M1 | >> transaction-manager-geronimo | 3.1.3 | | Started | >> enterprise-4.2.0.M1 | Geronimo Transaction Manager >> transaction | 2.0.0 | x | Started | >> enterprise-4.2.0.M1 | OSGi Transaction Manager >> hibernate | 5.2.8.Final | x | Started | >> enterprise-4.2.0.M1 | Hibernate JPA engine support >> jndi | 4.2.0.M1 | x | Started | >> enterprise-4.2.0.M1 | OSGi Service Registry JNDI access >> jdbc | 4.2.0.M1 | x | Started | >> enterprise-4.2.0.M1 | JDBC service and commands >> pax-jdbc-spec | 1.2.0 | | Started | >> org.ops4j.pax.jdbc-1.2.0 | Provides OSGi JDBC Service spec >> pax-jdbc | 1.2.0 | | Started | >> org.ops4j.pax.jdbc-1.2.0 | Provides JDBC Service support >> pax-jdbc-config | 1.2.0 | | Started | >> org.ops4j.pax.jdbc-1.2.0 | Provides JDBC Config support >> pax-jdbc-mysql | 1.2.0 | x | Started | >> org.ops4j.pax.jdbc-1.2.0 | Provides JDBC MySQL DataSourceFactory >> pax-jdbc-pool-dbcp2 | 1.2.0 | x | Started | >> org.ops4j.pax.jdbc-1.2.0 | Provides JDBC Pooling DataSourceFactory >> jpa | 2.6.1 | x | Started | >> aries-jpa-2.6.1 | OSGi Persistence Container >> >> >> karaf@test()> list -u >> START LEVEL 100 , List Threshold: 50 >> ID | State | Lvl | Version | Update location >> ---+----------+-----+--------------------+------------------ >> ------------------------------------------------------------ >> ---------------------------------------------- >> 20 | Resolved | 80 | 4.2.0.M1 | mvn:org.apache.karaf.diagnosti >> c/org.apache.karaf.diagnostic.boot/4.2.0.M1 >> 22 | Active | 80 | 4.2.0.M1 | mvn:org.apache.karaf/org.apach >> e.karaf.event/4.2.0.M1 >> 43 | Active | 80 | 1.9.2.1 | mvn:org.apache.servicemix.bund >> les/org.apache.servicemix.bundles.jasypt/1.9.2_1 >> 44 | Active | 80 | 1.2.0 | mvn:org.ops4j.pax.jdbc/pax-jdb >> c/1.2.0 >> 45 | Active | 80 | 1.2.0 | mvn:org.ops4j.pax.jdbc/pax-jdb >> c-config/1.2.0 >> 46 | Active | 80 | 1.2.0 | mvn:org.ops4j.pax.jdbc/pax-jdb >> c-pool-common/1.2.0 >> 47 | Active | 80 | 1.0.0.201505202023 | mvn:org.osgi/org.osgi.service. >> jdbc/1.0.0 >> 48 | Active | 80 | 1.3.0 | mvn:com.fasterxml/classmate/1. >> 3.0 >> 49 | Active | 80 | 5.1.34 | mvn:mysql/mysql-connector-java >> /5.1.34 >> 50 | Active | 80 | 3.20.0.GA | mvn:org.javassist/javassist/3. >> 20.0-GA >> 51 | Active | 80 | 3.0.0 | mvn:javax.el/javax.el-api/3.0. >> 0 >> 52 | Active | 80 | 1.2.0 | mvn:javax.enterprise/cdi-api/1 >> .2 >> 53 | Active | 80 | 1.2 | mvn:javax.interceptor/javax.in >> terceptor-api/1.2 >> 55 | Active | 80 | 1.2 | mvn:javax.transaction/javax.tr >> ansaction-api/1.2 >> 56 | Active | 80 | 1.6.6 | mvn:net.bytebuddy/byte-buddy/1 >> .6.6 >> 67 | Active | 80 | 4.2.0.M1 | mvn:org.apache.karaf.jdbc/org. >> apache.karaf.jdbc.core/4.2.0.M1 >> 69 | Active | 80 | 2.7.7.5 | mvn:org.apache.servicemix.bund >> les/org.apache.servicemix.bundles.antlr/2.7.7_5 >> 70 | Active | 80 | 1.6.1.5 | mvn:org.apache.servicemix.bund >> les/org.apache.servicemix.bundles.dom4j/1.6.1_5 >> 71 | Active | 80 | 1.0.0.2 | mvn:org.apache.servicemix.bund >> les/org.apache.servicemix.bundles.javax-inject/1_2 >> 73 | Active | 80 | 5.0.1.Final | mvn:org.hibernate.common/hiber >> nate-commons-annotations/5.0.1.Final >> 74 | Active | 80 | 5.2.8.Final | mvn:org.hibernate/hibernate-co >> re/5.2.8.Final >> 75 | Active | 80 | 5.2.8.Final | mvn:org.hibernate/hibernate-os >> gi/5.2.8.Final >> 76 | Active | 80 | 2.0.3.Final | mvn:org.jboss/jandex/2.0.3.Fin >> al >> 77 | Active | 80 | 3.3.0.Final | mvn:org.jboss.logging/jboss-lo >> gging/3.3.0.Final >> 79 | Active | 80 | 1.2.0 | mvn:org.ops4j.pax.jdbc/pax-jdb >> c-mysql/1.2.0 >> 80 | Active | 80 | 0.2.0 | mvn:org.ops4j.pax.transx/pax-t >> ransx-tm-api/0.2.0 >> 81 | Active | 80 | 0.2.0 | mvn:org.ops4j.pax.transx/pax-t >> ransx-tm-geronimo/0.2.0 >> 82 | Active | 80 | 1.0.0 | mvn:org.apache.aries.tx-contro >> l/tx-control-service-xa/1.0.0 >> 83 | Active | 80 | 1.0.0 | mvn:org.apache.aries.tx-contro >> l/tx-control-provider-jdbc-xa/1.0.0 >> 84 | Active | 80 | 1.0.0 | mvn:org.apache.aries.tx-contro >> l/tx-control-provider-jpa-xa/1.0.0 >> 92 | Active | 80 | 2.7.1.SNAPSHOT | mvn:org.apache.aries.jpa.javax >> .persistence/javax.persistence_2.1/2.7.1-SNAPSHOT >> 94 | Active | 80 | 2.1.1 | mvn:org.apache.commons/commons >> -dbcp2/2.1.1 >> 95 | Active | 80 | 2.4.2 | mvn:org.apache.commons/commons >> -pool2/2.4.2 >> 96 | Active | 80 | 3.2.4.1 | mvn:org.apache.servicemix.bund >> les/org.apache.servicemix.bundles.cglib/3.2.4_1 >> 97 | Active | 80 | 1.2.0 | mvn:org.ops4j.pax.jdbc/pax-jdb >> c-pool-dbcp2/1.2.0 >> 98 | Waiting | 80 | 0.0.1.SNAPSHOT | file:/C:/KARAF/apache-karaf-4. >> 2.0.M1/instances/test/deploy/test.xa-0.0.1-SNAPSHOT.jar >> > >