You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2020/10/11 05:26:13 UTC

[karaf] branch master updated: Cleanup old features and use requirements when possible

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/master by this push:
     new 3b19ba7  Cleanup old features and use requirements when possible
     new bd236c6  Merge pull request #1218 from jbonofre/CLEANUP
3b19ba7 is described below

commit 3b19ba79e352c5483bc70db1760c871536fbbf72
Author: jbonofre <jb...@apache.org>
AuthorDate: Fri Oct 9 08:51:46 2020 +0200

    Cleanup old features and use requirements when possible
---
 assemblies/features/enterprise-legacy/pom.xml      | 235 ---------------------
 .../enterprise-legacy/src/main/feature/feature.xml | 181 ----------------
 .../enterprise/src/main/feature/feature.xml        |   8 -
 assemblies/features/pom.xml                        |   1 -
 .../features/standard/src/main/feature/feature.xml |   1 -
 .../src/main/feature/feature.xml                   |   2 +-
 examples/karaf-rest-example/README.md              |  13 ++
 .../src/main/feature/feature.xml                   |   4 -
 examples/karaf-servlet-example/README.md           |  14 ++
 .../src/main/feature/feature.xml                   |  10 +-
 .../etc/org.apache.karaf.features.repos.cfg        |   1 -
 .../src/test/filtered-resources/etc/feature.xml    |   1 -
 .../java/org/apache/karaf/itests/FeatureTest.java  |  13 --
 .../test/java/org/apache/karaf/itests/JmsTest.java |   1 -
 .../karaf/itests/examples/RestExampleTest.java     |   2 +
 .../karaf/itests/examples/ServletExampleTest.java  |   2 +
 .../itests/features/EnterpriseFeaturesTest.java    |  46 +---
 .../karaf/itests/features/Spring3FeaturesTest.java |   1 -
 .../itests/features/Spring43FeaturesTest.java      |   1 -
 jpa/hibernate/README                               |   8 -
 jpa/hibernate/pom.xml                              |  74 -------
 .../karaf/jpa/hibernate/StatisticsMXBean.java      |  26 ---
 .../apache/karaf/jpa/hibernate/impl/Activator.java |  68 ------
 .../jpa/hibernate/impl/StatisticsPublisher.java    | 122 -----------
 jpa/pom.xml                                        |  39 ----
 pom.xml                                            |   7 +-
 26 files changed, 39 insertions(+), 842 deletions(-)

diff --git a/assemblies/features/enterprise-legacy/pom.xml b/assemblies/features/enterprise-legacy/pom.xml
deleted file mode 100644
index e05b2d0..0000000
--- a/assemblies/features/enterprise-legacy/pom.xml
+++ /dev/null
@@ -1,235 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.karaf.assemblies.features</groupId>
-        <artifactId>features</artifactId>
-        <version>4.3.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>org.apache.karaf.features</groupId>
-    <artifactId>enterprise-legacy</artifactId>
-    <packaging>pom</packaging>
-    <name>Apache Karaf :: Assemblies :: Features :: Enterprise Legacy</name>
-
-    <properties>
-        <appendedResourcesDirectory>${basedir}/../../../etc/appended-resources</appendedResourcesDirectory>
-    </properties>
-
-    <dependencies>
-
-        <!-- Framework distribution -->
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>framework</artifactId>
-            <type>kar</type>
-            <scope>provided</scope>
-        </dependency>
-
-        <!-- transaction deps -->
-        <dependency>
-            <groupId>org.apache.aries.transaction</groupId>
-            <artifactId>org.apache.aries.transaction.blueprint</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.transaction</groupId>
-            <artifactId>org.apache.aries.transaction.manager</artifactId>
-            <scope>provided</scope>
-        </dependency>
-
-        <!-- jpa deps -->
-        <dependency>
-            <groupId>org.apache.aries</groupId>
-            <artifactId>org.apache.aries.util</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.jpa</groupId>
-            <artifactId>org.apache.aries.jpa.api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.jpa</groupId>
-            <artifactId>org.apache.aries.jpa.blueprint.aries</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.jpa</groupId>
-            <artifactId>org.apache.aries.jpa.container</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.jpa</groupId>
-            <artifactId>org.apache.aries.jpa.container.context</artifactId>
-            <scope>provided</scope>
-        </dependency>
-
-        <!-- jndi deps -->
-        <dependency>
-            <groupId>org.apache.aries.jndi</groupId>
-            <artifactId>org.apache.aries.jndi.api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.jndi</groupId>
-            <artifactId>org.apache.aries.jndi.core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.jndi</groupId>
-            <artifactId>org.apache.aries.jndi.rmi</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.jndi</groupId>
-            <artifactId>org.apache.aries.jndi.url</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.jndi</groupId>
-            <artifactId>org.apache.aries.jndi.legacy.support</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <!-- application-without-isolation deps -->
-        <dependency>
-            <groupId>org.apache.karaf.features</groupId>
-            <artifactId>standard</artifactId>
-            <classifier>features</classifier>
-            <type>xml</type>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.application</groupId>
-            <artifactId>org.apache.aries.application.resolver.obr</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.application</groupId>
-            <artifactId>org.apache.aries.application.install</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.application</groupId>
-            <artifactId>org.apache.aries.application.api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.application</groupId>
-            <artifactId>org.apache.aries.application.management</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.application</groupId>
-            <artifactId>org.apache.aries.application.utils</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.application</groupId>
-            <artifactId>org.apache.aries.application.modeller</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.application</groupId>
-            <artifactId>org.apache.aries.application.default.local.platform</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.application</groupId>
-            <artifactId>org.apache.aries.application.deployment.management</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <!-- without isolation -->
-        <dependency>
-            <groupId>org.apache.aries.application</groupId>
-            <artifactId>org.apache.aries.application.runtime</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <!-- subsystems -->
-        <dependency>
-            <groupId>org.apache.karaf.services</groupId>
-            <artifactId>org.apache.karaf.services.coordinator</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf.subsystem</groupId>
-            <artifactId>org.apache.karaf.subsystem.core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.ops4j.pax.cdi</groupId>
-            <artifactId>pax-cdi-features</artifactId>
-            <version>${pax.cdi.version}</version>
-            <classifier>features</classifier>
-            <type>xml</type>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <resources>
-            <resource>
-                <directory>${project.basedir}/src/main/feature</directory>
-                <filtering>true</filtering>
-                <targetPath>${project.build.directory}/feature</targetPath>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>resources</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>attach-artifacts</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>attach-artifact</goal>
-                        </goals>
-                        <configuration>
-                            <artifacts>
-                                <artifact>
-                                    <file>target/feature/feature.xml</file>
-                                    <classifier>features</classifier>
-                                    <type>xml</type>
-                                </artifact>
-                            </artifacts>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/assemblies/features/enterprise-legacy/src/main/feature/feature.xml b/assemblies/features/enterprise-legacy/src/main/feature/feature.xml
deleted file mode 100644
index 60792d5..0000000
--- a/assemblies/features/enterprise-legacy/src/main/feature/feature.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<features name="enterprise-legacy-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0 http://karaf.apache.org/xmlns/features/v1.3.0">
-
-    <!-- NB: this file is not the one really used. This file is used by the karaf-maven-plugin to define the start-level of bundles in the generated feature.xml -->
-
-    <repository>mvn:org.apache.karaf.features/standard/${project.version}/xml/features</repository>
-    <repository>mvn:org.apache.karaf.features/enterprise/${project.version}/xml/features</repository>
-    <repository>mvn:org.hibernate/hibernate-osgi/${hibernate52.version}/xml/karaf</repository>
-
-    <feature name="transaction-api" version="1.1.0">
-        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo.jta-spec.version}</bundle>
-    </feature>
-
-    <feature name="transaction" description="OSGi Transaction Manager" version="${aries.transaction.manager.version}">
-        <details>JTA implementation provided by Apache Aries Transaction</details>
-        <feature version="${geronimo.transaction.manager.version}">transaction-manager-geronimo</feature>
-    </feature>
-
-    <feature name="jpa" description="OSGi Persistence Container" version="${aries.jpa.container.context.version}">
-        <details>JPA implementation provided by Apache Aries JPA 1.x. NB: this feature doesn"t provide the JPA engine, you have to install one by yourself (OpenJPA for instance)</details>
-        <feature version="[1.1,2)">transaction-api</feature>
-	    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jpa_2.0_spec/${geronimo.jpa-spec.version}</bundle>
-        <bundle dependency="true" start-level="30">mvn:org.apache.aries/org.apache.aries.util/${aries.util.version}</bundle>
-        <bundle start-level="30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.api/${aries.jpa.version}</bundle>
-        <bundle start-level="30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.container/${aries.jpa.version}</bundle>
-        <bundle start-level="30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.container.context/${aries.jpa.container.context.version}</bundle>
-        <conditional>
-            <condition>aries-blueprint</condition>
-            <bundle start-level="30">mvn:org.apache.aries.jpa/org.apache.aries.jpa.blueprint.aries/${aries.jpa.blueprint.aries.version}</bundle>
-        </conditional>
-    </feature>
-
-    <feature name="openjpa" description="Apache OpenJPA 2.2.x persistence engine support" version="2.2.2">
-        <details>Enable Apache OpenJPA as persistence engine.</details>
-        <feature>jndi</feature>
-        <feature version="[1.1,1.2)">transaction-api</feature>
-	    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jpa_2.0_spec/${geronimo.jpa-spec.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/1.1.1</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.2</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-el_1.0_spec/1.0.1</bundle>
-        <bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang.version}</bundle>
-        <bundle dependency="true">mvn:commons-collections/commons-collections/${commons-collections.version}</bundle>
-        <bundle dependency="true">mvn:commons-pool/commons-pool/${commons-pool.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/1.7.0_6</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.serp/${serp.bundle.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo.jms-spec.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.asm/3.3_2</bundle>
-        <bundle>mvn:org.apache.openjpa/openjpa/2.2.2</bundle>
-        <capability>
-            osgi.service;effective:=active;objectClass=javax.persistence.spi.PersistenceProvider
-        </capability>
-    </feature>
-
-    <feature name="openjpa" description="Apache OpenJPA 2.3.x persistence engine support" version="2.3.0">
-        <details>Enable Apache OpenJPA as persistence engine.</details>
-        <feature version="[1.1,1.2)">transaction-api</feature>
-	    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jpa_2.0_spec/${geronimo.jpa-spec.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/1.1.1</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.2</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-el_1.0_spec/1.0.1</bundle>
-        <bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang.version}</bundle>
-        <bundle dependency="true">mvn:commons-collections/commons-collections/${commons-collections.version}</bundle>
-        <bundle dependency="true">mvn:commons-pool/commons-pool/${commons-pool.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/1.7.0_6</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.serp/${serp.bundle.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo.jms-spec.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.xbean/xbean-asm4-shaded/3.16</bundle>
-        <bundle>mvn:org.apache.openjpa/openjpa/2.3.0</bundle>
-        <requirement>osgi.ee;filter:="(&amp;(osgi.ee=JavaSE)(!(version>=1.9)))"</requirement>
-        <capability>
-            osgi.service;effective:=active;objectClass=javax.persistence.spi.PersistenceProvider
-        </capability>
-    </feature>
-
-    <feature name="openjpa" description="Apache OpenJPA 2.4.x persistence engine support" version="2.4.2">
-        <details>Enable Apache OpenJPA as persistence engine.</details>
-        <feature>jndi</feature>
-        <feature version="[1.2,1.3)">transaction-api</feature>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jpa_2.0_spec/${geronimo.jpa-spec.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/1.1.1</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.2</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-el_1.0_spec/1.0.1</bundle>
-        <bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang.version}</bundle>
-        <bundle dependency="true">mvn:commons-collections/commons-collections/${commons-collections.version}</bundle>
-        <bundle dependency="true">mvn:commons-pool/commons-pool/${commons-pool.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/1.7.0_6</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.serp/${serp.bundle.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo.jms-spec.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.xbean/xbean-asm5-shaded/4.3</bundle>
-        <bundle>mvn:org.apache.openjpa/openjpa/2.4.2</bundle>
-        <capability>
-            osgi.service;objectClass=javax.persistence.spi.PersistenceProvider;effective:=active;javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl
-        </capability>
-    </feature>
-
-    <feature name="hibernate" description="Hibernate 4.2.x JPA persistence engine support" version="${hibernate42.version}">
-        <details>Enable Hibernate 4.2.x as persistence engine.</details>
-	    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jpa_2.0_spec/${geronimo.jpa-spec.version}</bundle>
-        <feature>http</feature>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${antlr.bundle.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant.bundle.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/${dom4j.bundle.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.serp/${serp.bundle.version}</bundle>
-        <bundle dependency="true">mvn:com.fasterxml/classmate/1.1.0</bundle>
-        <bundle dependency="true">mvn:org.javassist/javassist/3.18.1-GA</bundle>
-        <bundle dependency="true">mvn:org.jboss.spec.javax.security.jacc/jboss-jacc-api_1.4_spec/1.0.2.Final</bundle>
-        <bundle dependency="true">mvn:org.jboss/jandex/1.2.2.Final</bundle>
-        <bundle dependency="true">mvn:org.jboss.logging/jboss-logging/3.1.4.GA</bundle>
-        <bundle dependency="true">mvn:org.hibernate.common/hibernate-commons-annotations/4.0.4.Final</bundle>
-        <bundle>mvn:org.hibernate/hibernate-core/${hibernate42.version}</bundle>
-        <bundle>mvn:org.hibernate/hibernate-entitymanager/${hibernate42.version}</bundle>
-        <bundle>mvn:org.hibernate/hibernate-osgi/${hibernate42.version}</bundle>
-        <capability>
-            osgi.service;effective:=active;objectClass=javax.persistence.spi.PersistenceProvider
-        </capability>
-    </feature>
-
-    <feature name="hibernate-envers" description="Hibernate Envers 4.2.x" version="${hibernate42.version}">
-        <details>Enable Hibernate Envers 4.2.x</details>
-        <feature version="[4.2,4.3)">hibernate</feature>
-        <bundle>mvn:org.hibernate/hibernate-envers/${hibernate42.version}</bundle>
-    </feature>
-
-    <feature name="hibernate" description="Hibernate 4.3.x JPA persistence engine support" version="${hibernate43.version}">
-        <details>Enable Hibernate 4.3.x as persistence engine.</details>
-        <feature>http</feature>
-        <bundle dependency="true">mvn:org.eclipse.persistence/javax.persistence/2.1.0</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${antlr.bundle.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant.bundle.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/${dom4j.bundle.version}</bundle>
-        <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.serp/${serp.bundle.version}</bundle>
-        <bundle dependency="true">mvn:com.fasterxml/classmate/1.1.0</bundle>
-        <bundle dependency="true">mvn:org.javassist/javassist/3.18.1-GA</bundle>
-        <bundle dependency="true">mvn:org.jboss.spec.javax.security.jacc/jboss-jacc-api_1.4_spec/1.0.2.Final</bundle>
-        <bundle dependency="true">mvn:org.jboss/jandex/1.2.2.Final</bundle>
-        <bundle dependency="true">mvn:org.jboss.logging/jboss-logging/3.1.4.GA</bundle>
-        <bundle dependency="true">mvn:org.hibernate.common/hibernate-commons-annotations/4.0.4.Final</bundle>
-        <bundle>mvn:org.hibernate/hibernate-core/${hibernate43.version}</bundle>
-        <bundle>mvn:org.hibernate/hibernate-entitymanager/${hibernate43.version}</bundle>
-        <bundle>mvn:org.hibernate/hibernate-osgi/${hibernate43.version}</bundle>
-        <capability>
-            osgi.service;effective:=active;objectClass=javax.persistence.spi.PersistenceProvider
-        </capability>
-    </feature>
-
-    <feature name="hibernate-envers" description="Hibernate Envers 4.3.x" version="${hibernate43.version}">
-        <details>Enable Hibernate Envers 4.3.x</details>
-        <feature version="[4.3,4.4)">hibernate</feature>
-        <bundle>mvn:org.hibernate/hibernate-envers/${hibernate43.version}</bundle>
-    </feature>
-
-    <feature name="hibernate" description="Hibernate JPA engine support" version="${hibernate52.version}">
-        <feature prerequisite="true">wrap</feature>
-        <feature version="${hibernate52.version}">hibernate-orm</feature>
-        <bundle dependency="true">mvn:net.bytebuddy/byte-buddy/1.6.6</bundle>
-        <capability>
-            osgi.service;objectClass=javax.persistence.spi.PersistenceProvider;effective:=active;javax.persistence.provider=org.hibernate.jpa.HibernatePersistenceProvider
-        </capability>
-    </feature>
-
-</features>
diff --git a/assemblies/features/enterprise/src/main/feature/feature.xml b/assemblies/features/enterprise/src/main/feature/feature.xml
index 0bd81df..df310ad 100644
--- a/assemblies/features/enterprise/src/main/feature/feature.xml
+++ b/assemblies/features/enterprise/src/main/feature/feature.xml
@@ -161,14 +161,6 @@ com.atomikos.icatch.log_base_dir=${karaf.data}/atomikos
         <bundle>mvn:org.apache.geronimo.components/geronimo-connector/3.1.4</bundle>
     </feature>
 
-    <feature name="openjpa3" description="OpenJPA engine support" version="${openjpa.version}">
-        <bundle dependency="true">mvn:org.apache.xbean/xbean-asm6-shaded/4.9</bundle>
-        <feature version="${openjpa.version}">openjpa</feature>
-        <capability>
-            osgi.service;objectClass=javax.persistence.spi.PersistenceProvider;effective:=active;javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl
-        </capability>
-    </feature>
-
     <feature name="hibernate" description="Hibernate JPA engine support" version="${hibernate.version}">
         <!-- hibernate-orm feature installs osgi.core and osgi.compendium bundle (it should not), causing huge refresh -->
         <feature prerequisite="true">wrap</feature>
diff --git a/assemblies/features/pom.xml b/assemblies/features/pom.xml
index c0ad3ed..91685ab 100644
--- a/assemblies/features/pom.xml
+++ b/assemblies/features/pom.xml
@@ -41,7 +41,6 @@
         <module>spring</module>
         <module>spring-legacy</module>
         <module>enterprise</module>
-        <module>enterprise-legacy</module>
     </modules>
 
 </project>
diff --git a/assemblies/features/standard/src/main/feature/feature.xml b/assemblies/features/standard/src/main/feature/feature.xml
index ac97c23..054bb33 100644
--- a/assemblies/features/standard/src/main/feature/feature.xml
+++ b/assemblies/features/standard/src/main/feature/feature.xml
@@ -85,7 +85,6 @@
 # It could be directly installed using feature:repo-add command
 #
 enterprise=mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features
-enterprise-legacy=mvn:org.apache.karaf.features/enterprise-legacy/${karaf.version}/xml/features
 spring=mvn:org.apache.karaf.features/spring/${karaf.version}/xml/features
 spring-legacy=mvn:org.apache.karaf.features/spring-legacy/${karaf.version}/xml/features
 cellar=mvn:org.apache.karaf.cellar/apache-karaf-cellar/RELEASE/xml/features
diff --git a/examples/karaf-jpa-example/karaf-jpa-example-features/src/main/feature/feature.xml b/examples/karaf-jpa-example/karaf-jpa-example-features/src/main/feature/feature.xml
index 92d5623..e3e4f51 100644
--- a/examples/karaf-jpa-example/karaf-jpa-example-features/src/main/feature/feature.xml
+++ b/examples/karaf-jpa-example/karaf-jpa-example-features/src/main/feature/feature.xml
@@ -40,7 +40,7 @@
         <feature version="[2,3)">jpa</feature>
         <feature version="[2,3)">eclipselink</feature>
         <feature version="[5,6)">hibernate</feature>
-        <!--<feature version="[3,4)">openjpa3</feature>-->
+        <feature version="[3,4)">openjpa</feature>
         <bundle>mvn:org.apache.karaf.examples/karaf-jpa-example-provider-api/${project.version}</bundle>
     </feature>
 
diff --git a/examples/karaf-rest-example/README.md b/examples/karaf-rest-example/README.md
index d78f18d..cf64ceb 100644
--- a/examples/karaf-rest-example/README.md
+++ b/examples/karaf-rest-example/README.md
@@ -56,6 +56,19 @@ On a running Karaf instance, register the features repository using:
 karaf@root()> feature:repo-add mvn:org.apache.karaf.examples/karaf-rest-example-features/LATEST/xml
 ```
 
+As prerequisite, install a HTTP service provider (like `felix-http` or `http` (Pax Web)):
+
+```
+karaf@root()> feature:install http
+karaf@root()> feature:install http-whiteboard
+```
+
+or 
+
+```
+karaf@root()> feature:install felix-http
+```
+
 Then, you can install the service blueprint provider or service SCR provider feature:
 
 ```
diff --git a/examples/karaf-rest-example/karaf-rest-example-features/src/main/feature/feature.xml b/examples/karaf-rest-example/karaf-rest-example-features/src/main/feature/feature.xml
index fc6a6ac..3dd1ac4 100644
--- a/examples/karaf-rest-example/karaf-rest-example-features/src/main/feature/feature.xml
+++ b/examples/karaf-rest-example/karaf-rest-example-features/src/main/feature/feature.xml
@@ -27,7 +27,6 @@
 
     <feature name="karaf-rest-example-blueprint" version="${project.version}">
         <feature version="${project.version}">karaf-rest-example-common</feature>
-        <feature dependency="true">http</feature>
         <requirement>osgi.service;effective:=active;filter:=(objectClass=org.osgi.service.http.HttpService)</requirement>
         <feature dependency="true">aries-blueprint</feature>
         <feature version="${cxf.version}" dependency="true">cxf-jaxrs</feature>
@@ -54,7 +53,6 @@
 
     <feature name="karaf-rest-example-whiteboard" version="${project.version}">
         <feature version="${project.version}">karaf-rest-example-common</feature>
-        <feature>http-whiteboard</feature>
         <feature>aries-jax-rs-whiteboard</feature>
         <feature>aries-jax-rs-whiteboard-jackson</feature>
         <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/${servicemix-spec.version}</bundle>
@@ -64,8 +62,6 @@
 
     <feature name="karaf-rest-example-scr" version="${project.version}">
         <feature version="${project.version}">karaf-rest-example-common</feature>
-        <feature dependency="true">http</feature>
-        <feature dependency="true">pax-http-whiteboard</feature>
         <requirement>osgi.service;effective:=active;filter:=(objectClass=org.osgi.service.http.HttpService)</requirement>
         <feature dependency="true">scr</feature>
         <feature version="${cxf.version}" dependency="true">cxf-jaxrs</feature>
diff --git a/examples/karaf-servlet-example/README.md b/examples/karaf-servlet-example/README.md
index b5f704d..c98d140 100644
--- a/examples/karaf-servlet-example/README.md
+++ b/examples/karaf-servlet-example/README.md
@@ -53,6 +53,20 @@ On a running Karaf instance, you register the example features repository with:
 karaf@root()> feature:repo-add mvn:org.apache.karaf.examples/karaf-servlet-example-features/LATEST/xml
 ```
 
+As requirement, you need to install a HTTP service provider (for instance `felix-http` feature or `http` (Pax Web) feature).
+So either:
+
+```
+karaf@root()> feature:install http
+karaf@root()> feature:install http-whiteboard
+```
+
+or
+
+```
+karaf@root()> feature:install felix-http
+```
+
 The `karaf-servlet-example-annotation` feature installs the required features (HTTP service) and register the servlet using
 Servlet 3.0 annotation:
 
diff --git a/examples/karaf-servlet-example/karaf-servlet-example-features/src/main/feature/feature.xml b/examples/karaf-servlet-example/karaf-servlet-example-features/src/main/feature/feature.xml
index 1bbfa94..94eaed5 100644
--- a/examples/karaf-servlet-example/karaf-servlet-example-features/src/main/feature/feature.xml
+++ b/examples/karaf-servlet-example/karaf-servlet-example-features/src/main/feature/feature.xml
@@ -24,28 +24,26 @@
     </feature>
 
     <feature name="karaf-servlet-example-registration" version="${project.version}">
-        <feature prerequisite="true">http</feature>
         <bundle>mvn:org.apache.karaf.examples/karaf-servlet-example-registration/${project.version}</bundle>
+        <requirement>osgi.implementation;osgi.implementation="osgi.http";version:Version="1.1"</requirement>
     </feature>
 
     <feature name="karaf-servlet-example-blueprint" version="${project.version}">
         <feature prerequisite="true">aries-blueprint</feature>
-        <feature prerequisite="true">http</feature>
-        <feature prerequisite="true">http-whiteboard</feature>
         <bundle>mvn:org.apache.karaf.examples/karaf-servlet-example-blueprint/${project.version}</bundle>
+        <requirement>osgi.implementation;osgi.implementation="osgi.http";version:Version="1.1"</requirement>
     </feature>
 
     <feature name="karaf-servlet-example-scr" version="${project.version}">
         <feature prerequisite="true">scr</feature>
-        <feature prerequisite="true">http</feature>
-        <feature prerequisite="true">http-whiteboard</feature>
         <bundle>mvn:org.apache.karaf.examples/karaf-servlet-example-scr/${project.version}</bundle>
+        <requirement>osgi.implementation;osgi.implementation="osgi.http";version:Version="1.1"</requirement>
     </feature>
 
     <feature name="karaf-servlet-example-upload" version="${project.version}">
         <feature prerequisite="true">scr</feature>
-        <feature prerequisite="true">http</feature>
         <bundle>mvn:org.apache.karaf.examples/karaf-servlet-example-upload/${project.version}</bundle>
+        <requirement>osgi.implementation;osgi.implementation="osgi.http";version:Version="1.1"</requirement>
     </feature>
 
 </features>
diff --git a/instance/src/main/resources/org/apache/karaf/instance/resources/etc/org.apache.karaf.features.repos.cfg b/instance/src/main/resources/org/apache/karaf/instance/resources/etc/org.apache.karaf.features.repos.cfg
index 4a631c8..280e7d6 100644
--- a/instance/src/main/resources/org/apache/karaf/instance/resources/etc/org.apache.karaf.features.repos.cfg
+++ b/instance/src/main/resources/org/apache/karaf/instance/resources/etc/org.apache.karaf.features.repos.cfg
@@ -22,7 +22,6 @@
 # It could be directly installed using feature:repo-add command
 #
 enterprise=mvn:org.apache.karaf.features/enterprise/@@project.version@@/xml/features
-enterprise-legacy=mvn:org.apache.karaf.features/enterprise-legacy/@@project.version@@/xml/features
 spring=mvn:org.apache.karaf.features/spring/@@project.version@@/xml/features
 spring-legacy=mvn:org.apache.karaf.features/spring-legacy/@@project.version@@/xml/features
 cellar=mvn:org.apache.karaf.cellar/apache-karaf-cellar/RELEASE/xml/features
diff --git a/itests/test/src/test/filtered-resources/etc/feature.xml b/itests/test/src/test/filtered-resources/etc/feature.xml
index 22ddbcc..4ef437d 100644
--- a/itests/test/src/test/filtered-resources/etc/feature.xml
+++ b/itests/test/src/test/filtered-resources/etc/feature.xml
@@ -67,7 +67,6 @@
             # It could be directly installed using feature:repo-add command
             #
             enterprise=mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features
-            enterprise-legacy=mvn:org.apache.karaf.features/enterprise-legacy/${karaf.version}/xml/features
             spring=mvn:org.apache.karaf.features/spring/${karaf.version}/xml/features
             spring-legacy=mvn:org.apache.karaf.features/spring-legacy/${karaf.version}/xml/features
             cellar=mvn:org.apache.karaf.cellar/apache-karaf-cellar/RELEASE/xml/features
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/FeatureTest.java b/itests/test/src/test/java/org/apache/karaf/itests/FeatureTest.java
index db2e004..e2b80bb 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/FeatureTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/FeatureTest.java
@@ -53,7 +53,6 @@ public class FeatureTest extends BaseTest {
                         "mvn:org.apache.karaf.features/spring/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/spring-legacy/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/enterprise/" + version + "/xml/features, " +
-                        "mvn:org.apache.karaf.features/enterprise-legacy/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/standard/" + version + "/xml/features"));
         return result.toArray(new Option[result.size()]);
     }
@@ -91,18 +90,6 @@ public class FeatureTest extends BaseTest {
     }
 
     @Test
-    public void installWithUpgradeCommand() throws Exception {
-        final String featureToUpgrade = "transaction-api";
-        final String oldVersion = "1.1.0";
-        final String newVersion = "1.2.0";
-        System.out.println(executeCommand("feature:install -v -r " + featureToUpgrade + "/" + oldVersion, new RolePrincipal("admin")));
-        assertFeatureInstalled(featureToUpgrade, oldVersion);
-        System.out.println(executeCommand("feature:install -r --upgrade " + featureToUpgrade + "/" + newVersion, new RolePrincipal("admin")));
-        assertFeatureNotInstalled(featureToUpgrade, oldVersion);
-        assertFeatureInstalled(featureToUpgrade, newVersion);
-    }
-
-    @Test
     public void installUninstallViaMBean() throws Exception {
         MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
         ObjectName name = new ObjectName("org.apache.karaf:type=feature,name=root");
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/JmsTest.java b/itests/test/src/test/java/org/apache/karaf/itests/JmsTest.java
index d85f935..ec88654 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/JmsTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/JmsTest.java
@@ -45,7 +45,6 @@ public class JmsTest extends BaseTest {
                         "mvn:org.apache.karaf.features/spring/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/spring-legacy/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/enterprise/" + version + "/xml/features, " +
-                        "mvn:org.apache.karaf.features/enterprise-legacy/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/standard/" + version + "/xml/features, " +
                         "mvn:org.apache.activemq/activemq-karaf/" + System.getProperty("activemq.version") + "/xml/features"));
         return options.toArray(new Option[options.size()]);
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/examples/RestExampleTest.java b/itests/test/src/test/java/org/apache/karaf/itests/examples/RestExampleTest.java
index d48142e..9f08b4f 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/examples/RestExampleTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/examples/RestExampleTest.java
@@ -36,6 +36,8 @@ public class RestExampleTest extends BaseTest {
 
     private void setup() throws Exception {
         addFeaturesRepository("mvn:org.apache.karaf.examples/karaf-rest-example-features/" + System.getProperty("karaf.version") + "/xml");
+        installAndAssertFeature("http");
+        installAndAssertFeature("http-whiteboard");
     }
 
     private void verify() throws Exception {
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/examples/ServletExampleTest.java b/itests/test/src/test/java/org/apache/karaf/itests/examples/ServletExampleTest.java
index f4568a2..22584e2 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/examples/ServletExampleTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/examples/ServletExampleTest.java
@@ -41,6 +41,8 @@ public class ServletExampleTest extends BaseTest {
 
     private void setup() throws Exception {
         addFeaturesRepository("mvn:org.apache.karaf.examples/karaf-servlet-example-features/" + System.getProperty("karaf.version") + "/xml");
+        installAndAssertFeature("http");
+        installAndAssertFeature("http-whiteboard");
     }
 
     private void verify() throws Exception {
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/features/EnterpriseFeaturesTest.java b/itests/test/src/test/java/org/apache/karaf/itests/features/EnterpriseFeaturesTest.java
index 6d33be2..565cdee 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/features/EnterpriseFeaturesTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/features/EnterpriseFeaturesTest.java
@@ -51,17 +51,11 @@ public class EnterpriseFeaturesTest extends BaseTest {
                         "mvn:org.apache.karaf.features/spring/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/spring-legacy/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/enterprise/" + version + "/xml/features, " +
-                        "mvn:org.apache.karaf.features/enterprise-legacy/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/standard/" + version + "/xml/features"));
         return result.toArray(new Option[result.size()]);
     }
 
     @Test
-    public void installTransaction130Feature() throws Exception {
-        installAssertAndUninstallFeature("transaction", "1.3.3");
-    }
-
-    @Test
     public void installTransaction20Feature() throws Exception {
         installAssertAndUninstallFeature("transaction", "2.0.0");
     }
@@ -78,44 +72,8 @@ public class EnterpriseFeaturesTest extends BaseTest {
     }
 
     @Test
-    public void installOpenJpa222Feature() throws Exception {
-        installAssertAndUninstallFeature("openjpa", "2.2.2");
-    }
-
-    @Test
-    @RunIfNotOnJdk8
-    public void installOpenJpa230Feature() throws Exception {
-        installAssertAndUninstallFeature("openjpa", "2.3.0");
-    }
-
-    @Test
-    public void installOpenJpa240Feature() throws Exception {
-        installAssertAndUninstallFeature("openjpa", "2.4.2");
-    }
-
-    @Test
-    public void installOpenJpa3Feature() throws Exception {
-        installAssertAndUninstallFeatures("openjpa3");
-    }
-
-    @Test
-    public void installHibernate4215FinalFeature() throws Exception {
-        installAssertAndUninstallFeature("hibernate", "4.2.15.Final");
-    }
-
-    @Test
-    public void installHibernateEnvers4215FinalFeature() throws Exception {
-        installAssertAndUninstallFeature("hibernate-envers", "4.2.15.Final");
-    }
-
-    @Test
-    public void installHibernate436FinalFeature() throws Exception {
-        installAssertAndUninstallFeature("hibernate", "4.3.6.Final");
-    }
-
-    @Test
-    public void installHibernateEnvers436FinalFeature() throws Exception {
-        installAssertAndUninstallFeature("hibernate-envers", "4.3.6.Final");
+    public void installOpenJpaFeature() throws Exception {
+        installAssertAndUninstallFeatures("openjpa");
     }
 
     @Test
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring3FeaturesTest.java b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring3FeaturesTest.java
index 4466e35..796351a 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring3FeaturesTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring3FeaturesTest.java
@@ -47,7 +47,6 @@ public class Spring3FeaturesTest extends BaseTest {
                         "mvn:org.apache.karaf.features/spring/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/spring-legacy/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/enterprise/" + version + "/xml/features, " +
-                        "mvn:org.apache.karaf.features/enterprise-legacy/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/standard/" + version + "/xml/features"));
         return result.toArray(new Option[result.size()]);
     }
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring43FeaturesTest.java b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring43FeaturesTest.java
index 16e0812..c86e609 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring43FeaturesTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring43FeaturesTest.java
@@ -42,7 +42,6 @@ public class Spring43FeaturesTest extends BaseTest {
                         "mvn:org.apache.karaf.features/spring/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/spring-legacy/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/enterprise/" + version + "/xml/features, " +
-                        "mvn:org.apache.karaf.features/enterprise-legacy/" + version + "/xml/features, " +
                         "mvn:org.apache.karaf.features/standard/" + version + "/xml/features"));
         return result.toArray(new Option[result.size()]);
     }
diff --git a/jpa/hibernate/README b/jpa/hibernate/README
deleted file mode 100644
index 6f1b560..0000000
--- a/jpa/hibernate/README
+++ /dev/null
@@ -1,8 +0,0 @@
-To use this module install jpa and hibernate features, then install bundles providing persistence units.
-
-install -s mvn:org.apache.karaf.jpa/hibernate/4.0.0
-The hibernate module will provide one StatisticsMXBean for each persistence unit with an oname like this:
-org.hibernate.statistics:unitName=<name of persistence unit>
-
-Also see
-https://docs.jboss.org/hibernate/core/4.2/javadocs/org/hibernate/stat/Statistics.html
diff --git a/jpa/hibernate/pom.xml b/jpa/hibernate/pom.xml
deleted file mode 100644
index 6e93f28..0000000
--- a/jpa/hibernate/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.karaf.jpa</groupId>
-        <artifactId>jpa-parent</artifactId>
-        <version>4.3.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>hibernate</artifactId>
-    <packaging>bundle</packaging>
-    <name>Apache Karaf :: JPA :: Hibernate</name>
-    <description>This bundle provides one StatisticsMXBean for each persistence unit with an oname like this: org.hibernate.statistics:unitName=...</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi.core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-core</artifactId>
-            <version>${hibernate42.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-entitymanager</artifactId>
-            <version>${hibernate42.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Bundle-Activator>
-                            org.apache.karaf.jpa.hibernate.impl.Activator
-                        </Bundle-Activator>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/jpa/hibernate/src/main/java/org/apache/karaf/jpa/hibernate/StatisticsMXBean.java b/jpa/hibernate/src/main/java/org/apache/karaf/jpa/hibernate/StatisticsMXBean.java
deleted file mode 100644
index 089ba06..0000000
--- a/jpa/hibernate/src/main/java/org/apache/karaf/jpa/hibernate/StatisticsMXBean.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.jpa.hibernate;
-
-import org.hibernate.stat.Statistics;
-
-/**
- * MXBean compliant variant of hibernate Statistics 
- */
-public interface StatisticsMXBean extends Statistics {
-
-}
diff --git a/jpa/hibernate/src/main/java/org/apache/karaf/jpa/hibernate/impl/Activator.java b/jpa/hibernate/src/main/java/org/apache/karaf/jpa/hibernate/impl/Activator.java
deleted file mode 100644
index 9156a13..0000000
--- a/jpa/hibernate/src/main/java/org/apache/karaf/jpa/hibernate/impl/Activator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.jpa.hibernate.impl;
-
-import javax.management.MBeanServer;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-/**
- * Track MBeanServer service and manage one StatisticsPublisher for each MBeanServer
- */
-public class Activator implements BundleActivator, ServiceTrackerCustomizer<MBeanServer, MBeanServer> {
-
-    private ServiceTracker<MBeanServer, MBeanServer> mbeanServerTracker;
-    private StatisticsPublisher publisher;
-    private BundleContext context;
-
-    @Override
-    public void start(BundleContext context) throws Exception {
-        this.context = context;
-        mbeanServerTracker = new ServiceTracker<>(context, MBeanServer.class, this);
-        mbeanServerTracker.open();
-    }
-
-    @Override
-    public void stop(BundleContext context) throws Exception {
-        mbeanServerTracker.close();
-    }
-
-    @Override
-    public MBeanServer addingService(ServiceReference<MBeanServer> reference) {
-        MBeanServer mbeanServer = context.getService(reference);
-        publisher = new StatisticsPublisher(context, mbeanServer);
-        publisher.start();
-        return mbeanServer;
-    }
-
-    @Override
-    public void modifiedService(ServiceReference<MBeanServer> reference, MBeanServer service) {
-    }
-
-    @Override
-    public void removedService(ServiceReference<MBeanServer> reference, MBeanServer service) {
-        if (publisher != null) {
-            publisher.stop();
-            publisher = null;
-        }
-    }
-
-}
diff --git a/jpa/hibernate/src/main/java/org/apache/karaf/jpa/hibernate/impl/StatisticsPublisher.java b/jpa/hibernate/src/main/java/org/apache/karaf/jpa/hibernate/impl/StatisticsPublisher.java
deleted file mode 100644
index 6d9016d..0000000
--- a/jpa/hibernate/src/main/java/org/apache/karaf/jpa/hibernate/impl/StatisticsPublisher.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.jpa.hibernate.impl;
-
-import java.lang.reflect.Proxy;
-
-import javax.management.MBeanServer;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-
-import org.apache.karaf.jpa.hibernate.StatisticsMXBean;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.stat.Statistics;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Track EntityManagerFactory services for the persistence units. 
- * Manage on StatisticsMXBean for each persistence unit named like:
- * org.hibernate.statistics:unitName=&lt;name of persistence unit&gt;
- */
-public class StatisticsPublisher implements ServiceTrackerCustomizer<EntityManagerFactory, EntityManagerFactory> {
-    private static Logger LOG = LoggerFactory.getLogger(StatisticsPublisher.class);
-    private BundleContext context;
-    private MBeanServer mbeanServer;
-    private ServiceTracker<EntityManagerFactory, EntityManagerFactory> emfTracker;
-
-    public StatisticsPublisher(BundleContext context, MBeanServer mbeanServer) {
-        this.context = context;
-        this.mbeanServer = mbeanServer;
-        this.emfTracker = new ServiceTracker<>(context, EntityManagerFactory.class, this);
-    }
-    
-    public void start() {
-        this.emfTracker.open(true);
-    }
-    
-    public void stop() {
-        ServiceReference<EntityManagerFactory>[] emfRefs = this.emfTracker.getServiceReferences();
-        for (ServiceReference<EntityManagerFactory> emfRef : emfRefs) {
-            try {
-                this.mbeanServer.unregisterMBean(getOName(emfRef));
-            } catch (Exception e) {
-            }
-        }
-        this.emfTracker.close();
-    }
-    
-    ObjectName getOName(ServiceReference<EntityManagerFactory> reference) {
-        try {
-            String unitName = (String)reference.getProperty("osgi.unit.name");
-            return new ObjectName("org.hibernate.statistics", "unitName", unitName);
-        } catch (MalformedObjectNameException e) {
-            throw new RuntimeException(e.getMessage(), e);
-        }
-    }
-    
-    private void publishStatistics(ServiceReference<EntityManagerFactory> reference, EntityManagerFactory emf) {
-        String persitenceProvider = (String)reference.getProperty("osgi.unit.provider");
-        if (!"org.hibernate.ejb.HibernatePersistence".equals(persitenceProvider)) {
-            return;
-        }
-        if (reference.getProperty("org.apache.aries.jpa.proxy.factory") != null) {
-            return;
-        }
-        try {
-            EntityManager em = emf.createEntityManager();
-            SessionFactory sessionFactory = em.unwrap(Session.class).getSessionFactory();
-            final Statistics statistics = sessionFactory.getStatistics();
-            statistics.setStatisticsEnabled(true);
-            mbeanServer.registerMBean(getStatisticsMBean(statistics), getOName(reference));
-        } catch (Exception e) {
-            LOG.warn("Error publishing StatisticsMXBean" + e.getMessage(), e);
-        }
-    }
-
-    @Override
-    public EntityManagerFactory addingService(ServiceReference<EntityManagerFactory> reference) {
-        EntityManagerFactory emf = context.getService(reference);
-        publishStatistics(reference, emf);
-        return emf;
-    }
-
-    private Object getStatisticsMBean(final Statistics statistics) {
-        return Proxy.newProxyInstance(getClass().getClassLoader(), new Class<?>[] { StatisticsMXBean.class },
-                (proxy, method, args) -> method.invoke(statistics, args));
-    }
-
-    @Override
-    public void modifiedService(ServiceReference<EntityManagerFactory> reference, EntityManagerFactory service) {
-    }
-
-    @Override
-    public void removedService(ServiceReference<EntityManagerFactory> reference, EntityManagerFactory service) {
-        try {
-            mbeanServer.unregisterMBean(getOName(reference));
-        } catch (Exception e) {
-            // Ignore
-        }
-    }
-}
diff --git a/jpa/pom.xml b/jpa/pom.xml
deleted file mode 100644
index 320befa..0000000
--- a/jpa/pom.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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">
-
-    <!--
-
-        Licensed to the Apache Software Foundation (ASF) under one or more
-        contributor license agreements.  See the NOTICE file distributed with
-        this work for additional information regarding copyright ownership.
-        The ASF licenses this file to You under the Apache License, Version 2.0
-        (the "License"); you may not use this file except in compliance with
-        the License.  You may obtain a copy of the License at
-
-            http://www.apache.org/licenses/LICENSE-2.0
-
-        Unless required by applicable law or agreed to in writing, software
-        distributed under the License is distributed on an "AS IS" BASIS,
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-        See the License for the specific language governing permissions and
-        limitations under the License.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.karaf</groupId>
-        <artifactId>karaf</artifactId>
-        <version>4.3.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <groupId>org.apache.karaf.jpa</groupId>
-    <artifactId>jpa-parent</artifactId>
-    <packaging>pom</packaging>
-    <name>Apache Karaf :: JPA :: Parent</name>
-
-    <modules>
-        <module>hibernate</module>
-    </modules>
-</project>
diff --git a/pom.xml b/pom.xml
index 74a4698..af73e8c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,7 +64,6 @@
         <module>jndi</module>
         <module>jdbc</module>
         <module>jms</module>
-        <module>jpa</module>
         <module>maven</module>
         <module>services</module>
         <module>audit</module>
@@ -250,17 +249,13 @@
         <aries.util.version>1.1.3</aries.util.version>
         <atomikos.version>4.0.4</atomikos.version>
 
-        <openjpa.version>3.1.1</openjpa.version>
+        <openjpa.version>3.1.2</openjpa.version>
         <geronimo.transaction.manager.version>3.1.3</geronimo.transaction.manager.version>
         <guava.version>20.0</guava.version>
         <narayana.version>5.10.5.Final</narayana.version>
         <hibernate.annotations.common.version>3.3.0.ga</hibernate.annotations.common.version>
         <hibernate.annotations.version>3.4.0.GA</hibernate.annotations.version>
         <hibernate.ejb.version>3.4.0.GA</hibernate.ejb.version>
-        <hibernate3.version>3.3.2.GA</hibernate3.version>
-        <hibernate42.version>4.2.15.Final</hibernate42.version>
-        <hibernate43.version>4.3.6.Final</hibernate43.version>
-        <hibernate52.version>5.2.18.Final</hibernate52.version>
         <hibernate.version>5.4.17.Final</hibernate.version>
         <hibernate.validator.version>6.1.5.Final</hibernate.validator.version>
         <httpclient.version>4.5.6</httpclient.version>