Migrate to JAX-RS Whiteboard (#1443)

* Migrate to JAX-RS Whiteboard
* Upgrade Jackson and Swagger TP feature dependencies

The upstream JAX-RS Whiteboard feature is not used because the version ranges currently do not work with Karaf on Windows.
See: https://issues.apache.org/jira/browse/KARAF-6536

* Update Felix logback to 1.0.2

This version adds the jul-to-slf4j bridge (FELIX-6027).
JUL is used by CXF and using the bridge we can use logback to reduce the verbosity of the info logging whenever org.apache.cxf.endpoint.ServerImpl creates endpoints.

* Update Aries Whiteboard to 1.0.8
* Removes the hated default web application (ARIES-1931)
* Improves performance
* Uses CXF 3.2.12
* Don't reuse SSE event builders

SSE event builders are not thread-safe.
It also causes the wrong default values being used.

Also-by: Markus Rathgeb <maggu2810@gmail.com>
Signed-off-by: Wouter Born <github@maindrain.net>
This commit is contained in:
Wouter Born
2020-05-14 22:32:35 +02:00
committed by GitHub
parent 583ea02429
commit 859da2e1c7
92 changed files with 2060 additions and 1400 deletions
+13 -18
View File
@@ -88,14 +88,6 @@
<version>2.0.0</version>
</dependency>
<!-- EclipseSource JAX RS -->
<dependency>
<groupId>com.eclipsesource.jaxrs</groupId>
<artifactId>publisher</artifactId>
<version>5.3.1</version>
<scope>compile</scope>
</dependency>
<!-- Gson -->
<dependency>
<groupId>org.eclipse.orbit.bundles</groupId>
@@ -236,11 +228,17 @@
<scope>compile</scope>
</dependency>
<!-- Servlet API -->
<!-- Servlet and JAX-RS API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.http.servlet-api</artifactId>
<version>1.1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.spec</groupId>
<artifactId>org.apache.aries.javax.jax.rs-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
@@ -251,13 +249,10 @@
<version>1.5.5</version>
<scope>compile</scope>
</dependency>
<!-- WR RS API -->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
<scope>compile</scope>
<groupId>de.maggu2810.jaxrswb.bundles</groupId>
<artifactId>jaxrswb-swagger1-gen</artifactId>
<version>0.0.4</version>
</dependency>
<!-- XStream -->
+6 -6
View File
@@ -238,12 +238,6 @@
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.openhab.core.bundles</groupId>
<artifactId>org.openhab.core.io.rest.optimize</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.openhab.core.bundles</groupId>
<artifactId>org.openhab.core.io.rest.sitemap</artifactId>
@@ -256,6 +250,12 @@
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.openhab.core.bundles</groupId>
<artifactId>org.openhab.core.io.rest.swagger</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.openhab.core.bundles</groupId>
<artifactId>org.openhab.core.io.rest.ui</artifactId>
+126 -12
View File
@@ -16,8 +16,10 @@
<name>openHAB Core :: BOM :: Runtime</name>
<properties>
<pax.web.version>7.2.11</pax.web.version>
<jackson.version>2.10.3</jackson.version>
<jetty.version>9.4.20.v20190813</jetty.version>
<pax.web.version>7.2.11</pax.web.version>
<swagger.version>1.6.1</swagger.version>
</properties>
<dependencies>
@@ -113,8 +115,18 @@
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.whiteboard</artifactId>
<version>1.0.1</version>
<version>1.0.8</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-annotation_1.3_spec</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jaxrs_2.1_spec</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- JAX-RS 2.1 API with contract -->
@@ -138,7 +150,7 @@
<version>2.2.11_1</version>
</dependency>
<!-- Java-Activation 1.1 API -->
<!-- Activation 1.1 API -->
<dependency>
<groupId>org.apache.servicemix.specs</groupId>
<artifactId>org.apache.servicemix.specs.activation-api-1.1</artifactId>
@@ -146,6 +158,13 @@
<scope>compile</scope>
</dependency>
<!-- Annotation API -->
<dependency>
<groupId>org.apache.servicemix.specs</groupId>
<artifactId>org.apache.servicemix.specs.annotation-api-1.3</artifactId>
<version>1.3_1</version>
</dependency>
<!-- Stax 1.2 API -->
<dependency>
<groupId>org.apache.servicemix.specs</groupId>
@@ -256,6 +275,13 @@
<scope>compile</scope>
</dependency>
<!-- OSGi ServiceLoader -->
<dependency>
<groupId>org.apache.aries.spifly</groupId>
<artifactId>org.apache.aries.spifly.dynamic.bundle</artifactId>
<version>1.2.3</version>
</dependency>
<!-- Several implementations need to log using SLF4J -->
<dependency>
<groupId>org.slf4j</groupId>
@@ -342,7 +368,7 @@
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.logback</artifactId>
<version>1.0.0</version>
<version>1.0.2</version>
<scope>compile</scope>
</dependency>
<!-- END: logging -->
@@ -868,14 +894,6 @@
<scope>compile</scope>
</dependency>
<!-- ... -->
<dependency>
<groupId>com.eclipsesource.jaxrs</groupId>
<artifactId>publisher</artifactId>
<version>5.3.1</version>
<scope>compile</scope>
</dependency>
<!-- jollyday -->
<dependency>
<groupId>de.jollyday</groupId>
@@ -894,6 +912,102 @@
<scope>compile</scope>
</dependency>
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-joda</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-base</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<!-- Swagger -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>${swagger.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-core</artifactId>
<version>${swagger.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>${swagger.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>${swagger.version}</version>
<scope>compile</scope>
</dependency>
<!-- JAX-RS Whiteboard Swagger 1 generator -->
<dependency>
<groupId>de.maggu2810.jaxrswb.bundles</groupId>
<artifactId>jaxrswb-swagger1-gen</artifactId>
<version>0.0.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>de.maggu2810.thirdparty.modified.org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.10.v20160429-1435</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
+15
View File
@@ -41,6 +41,21 @@
<artifactId>json-path</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.whiteboard</artifactId>
<version>1.0.8</version>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-annotation_1.3_spec</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jaxrs_2.1_spec</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>