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 <[email protected]>:
> 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 <[email protected]>:
>
>> 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
>>
>
>