Skip to content

FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP #376

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 77 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
dc8282d
FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP
paulrutter Jan 20, 2025
1ba9b64
FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP
paulrutter Jan 20, 2025
e98e1cf
FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP
paulrutter Jan 20, 2025
720e395
FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP
paulrutter Jan 20, 2025
ba7ee7d
FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP
paulrutter Jan 20, 2025
973bf30
FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP
paulrutter Jan 20, 2025
00a3c42
FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP
paulrutter Jan 20, 2025
eb61dc7
FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP
paulrutter Jan 20, 2025
e921130
Merge branch 'master' into feature/FELIX-6750-Jetty-12.1.0-tryout
paulrutter Jan 22, 2025
7bca9f8
Fix merge
paulrutter Jan 22, 2025
7a85962
Merge branch 'master' into feature/FELIX-6750-Jetty-12.1.0-tryout
paulrutter Jan 22, 2025
437c40f
FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP
paulrutter Jan 22, 2025
a279027
Merge branch 'master' into feature/FELIX-6750-Jetty-12.1.0-tryout
paulrutter Jan 27, 2025
e2090d2
Upgrade to Alpha2
paulrutter Mar 18, 2025
1197c48
FELIX-6751 : Use proper encoding for service filter
cziegeler Feb 2, 2025
49e4232
[maven-release-plugin] prepare release org.apache.felix.webconsole-5.…
cziegeler Feb 2, 2025
0dba53c
[maven-release-plugin] prepare for next development iteration
cziegeler Feb 2, 2025
49a5178
Add webconsole to CI pipeline
paulrutter Feb 3, 2025
738ff8f
FELIX-6752 : System information throws java.lang.ClassCastException
cziegeler Feb 4, 2025
82abeb8
Bump ch.qos.logback:logback-core in /ipojo/handler/jmx/jmx-handler-it…
dependabot[bot] Feb 4, 2025
d3397d0
FELIX-6753 : Use only plugin path for redirect/form submit
cziegeler Feb 5, 2025
c35385a
Update pom.xml
paulrutter Feb 8, 2025
5289a52
Update AbstractJettyTestSupport.java
paulrutter Feb 8, 2025
bd5a37f
FELIX-6755 : Support Jakarta Servlet 6
cziegeler Feb 9, 2025
9d0f8c5
Syntax error fix for default filter (#381)
StefanFranzWeiser Feb 10, 2025
e348a1b
FELIX-6755 : Create filter directly
cziegeler Feb 10, 2025
1ccdf4a
Bump ch.qos.logback:logback-core (#380)
dependabot[bot] Feb 10, 2025
8f738e2
Bump org.apache.felix:org.apache.felix.webconsole (#382)
dependabot[bot] Feb 11, 2025
985d21e
Bump actions/upload-artifact from 4.6.0 to 4.6.1
dependabot[bot] Feb 24, 2025
57182f8
Bump ch.qos.logback:logback-core in /ipojo/runtime/composite-it
dependabot[bot] Feb 24, 2025
5a10c78
Bump org.apache.felix:org.apache.felix.webconsole
dependabot[bot] Feb 24, 2025
6418523
Bump org.apache.felix:org.apache.felix.webconsole
dependabot[bot] Feb 26, 2025
3efb001
Bump ch.qos.logback:logback-core
dependabot[bot] Feb 26, 2025
d14688a
FELIX-6754-Update-jetty-to-12.0.17
paulrutter Mar 6, 2025
c14bc5b
Bump ch.qos.logback:logback-core from 1.3.12 to 1.3.15 in /rootcause
dependabot[bot] Mar 6, 2025
064578b
[maven-release-plugin] prepare release org.apache.felix.http.jetty12-…
paulrutter Mar 7, 2025
cf80584
[maven-release-plugin] prepare for next development iteration
paulrutter Mar 7, 2025
1733285
Bump ch.qos.logback:logback-core from 1.3.12 to 1.3.15 in /systemready
dependabot[bot] Mar 7, 2025
6139eb2
[maven-release-plugin] prepare release org.apache.felix.http.webconso…
cziegeler Mar 9, 2025
23b5e85
[maven-release-plugin] prepare for next development iteration
cziegeler Mar 9, 2025
23b75ce
FELIX-6757 : Properly encode bundle information
cziegeler Mar 9, 2025
68be2bd
FELIX-6756 Cookie name "Path" is a reserved token
paulrutter Mar 10, 2025
1760dc2
Revert "FELIX-6754-Update-jetty-to-12.0.17"
paulrutter Mar 10, 2025
97c9243
[maven-release-plugin] prepare release org.apache.felix.http.wrappers…
paulrutter Mar 10, 2025
e96c656
[maven-release-plugin] prepare for next development iteration
paulrutter Mar 10, 2025
b469cbe
FELIX-6756 Cookie name "Path" is a reserved token
paulrutter Mar 10, 2025
3cb8ba0
[maven-release-plugin] prepare release org.apache.felix.http.jetty-5.…
paulrutter Mar 10, 2025
333102e
[maven-release-plugin] prepare for next development iteration
paulrutter Mar 10, 2025
11ae5d1
[maven-release-plugin] prepare release org.apache.felix.http.jetty12-…
paulrutter Mar 10, 2025
5888846
[maven-release-plugin] prepare for next development iteration
paulrutter Mar 10, 2025
55e8b11
FELIX-6756 Cookie name "Path" is a reserved token
paulrutter Mar 10, 2025
2245639
FELIX-6756 Cookie name "Path" is a reserved token
paulrutter Mar 10, 2025
68b2dda
Update README.md
cziegeler Mar 13, 2025
ef80790
FELIX-6758 Update to Jetty 12.0.18 / 11.0.25
paulrutter Mar 13, 2025
00673dc
Bump org.apache.felix:org.apache.felix.webconsole
dependabot[bot] Mar 17, 2025
ffca48a
[maven-release-plugin] prepare release org.apache.felix.http.jetty-5.…
paulrutter Mar 18, 2025
0c5e990
[maven-release-plugin] prepare for next development iteration
paulrutter Mar 18, 2025
296118e
[maven-release-plugin] prepare release org.apache.felix.http.jetty12-…
paulrutter Mar 18, 2025
d886012
[maven-release-plugin] prepare for next development iteration
paulrutter Mar 18, 2025
72078f8
FELIX-6750-Jetty-12.1.0-tryout
paulrutter Mar 19, 2025
3b6145a
Merge branch 'master' into feature/FELIX-6750-Jetty-12.1.0-tryout
paulrutter Mar 19, 2025
35918d8
FELIX-6750-Jetty-12.1.0-tryout
paulrutter Mar 19, 2025
13838ff
Merge branch 'master' into feature/FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
2c33bad
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
25360cd
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
093cfbb
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
8b297ce
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
d0d0cfc
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
8e47a8f
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
416202c
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
9963f64
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
a790174
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
1dccc80
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
8719de5
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
dc7b988
FELIX-6750-Jetty-12.1.0-tryout
paulrutter May 26, 2025
51cbc8e
Move to 12.1.0.beta1
paulrutter Jun 20, 2025
8fe1c3c
Merge branch 'master' into feature/FELIX-6750-Jetty-12.1.0-tryout
paulrutter Jun 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/maven-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ jobs:
run: mvn -B -V -Dstyle.color=always --file log/pom.xml clean verify
- name: Felix HTTP
if: steps.changes.outputs.http == 'true'
run: mvn -B -V -Dstyle.color=always "-Dit.test=!MissingWebsocketDependenciesIT" --file http/pom.xml clean install verify
run: mvn -B -V -Dstyle.color=always "-Dit.test=!MissingWebsocketDependenciesIT" --file http/pom.xml clean install verify "-Dmaven.repo.local=/home/runner/.m2/repository/"
- name: Felix Maven bundle plugin
if: steps.changes.outputs.maven-bundle-plugin == 'true'
run: mvn -B -V -Dstyle.color=always --file tools/maven-bundle-plugin/pom.xml clean install verify
Expand Down
10 changes: 5 additions & 5 deletions http/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This is an implementation of the [R8.1 Whiteboard Specification for Jakarta Serv
* Standard OSGi Http Service implementation
* Standard OSGi Http Whiteboard implementation
* Run either with Jetty (version 11 or 12) bundle or inside your own application server using the servlet bridge
* [Felix HTTP Jetty 12](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.jetty12) is the preferred bundle of choice as it supports JakartaEE10 with the `jakarta` namespace.
* [Felix HTTP Jetty 12](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.jetty12) is the preferred bundle of choice as it supports JakartaEE10 (1.0.x range) and JakartaEE11 (1.1.x range).
* [Jetty WebSocket support](https://github.com/apache/felix-dev/pull/310), see example code [here](https://github.com/apache/felix-dev/blob/master/http/samples/whiteboard/src/main/java/org/apache/felix/http/samples/whiteboard/TestWebSocketServlet.java).
* [Felix HTTP Jetty 11](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.jetty) is the predecessor of the Jetty 12 bundle, which shipped with [Jetty 9.4.x](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.jetty/4.2.26) in the 4.x range (JavaEE8), [Jetty 11.x](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.jetty/5.1.10) in the 5.x range (JakartaEE9).
* [Jetty WebSocket support](https://github.com/apache/felix-dev/pull/309), see example code [here](https://github.com/apache/felix-dev/blob/master/http/samples/whiteboard/src/main/java/org/apache/felix/http/samples/whiteboard/TestWebSocketServlet.java).
Expand All @@ -15,9 +15,9 @@ This is an implementation of the [R8.1 Whiteboard Specification for Jakarta Serv

The Apache Felix HTTP Service project includes several bundles.

* [`org.apache.felix.http.servlet-api`](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.servlet-api) - Provides the Servlet API (versions 2.6, 3.0, 3.1, 4.0, 5.0 and 6.0 of the Servlet specification)
* [`org.apache.felix.http.servlet-api`](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.servlet-api) - Provides the Servlet API (versions 2.6, 3.0, 3.1, 4.0, 5.0, 6.0 and 6.1 of the Servlet specification)
* [`org.apache.felix.http.api`](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.api) - Provides the OSGi APIs for the Http Whiteboard and Http Service.
* [`org.apache.felix.http.jetty12`](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.jetty12) - Implementation that is embedding Jetty server (currently Jetty 12.x, requiring Java 17). This bundle includes the http.api bundle. It's the the preferred Felix Jetty bundle to use, as Jetty 11 will be [EoL in 2025](https://github.com/jetty/jetty.project/issues/10485).
* [`org.apache.felix.http.jetty12`](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.jetty12) - Implementation that is embedding Jetty server (currently Jetty 12.1.x, requiring Java 17). This bundle includes the http.api bundle. It's the the preferred Felix Jetty bundle to use, as Jetty 11 will be [EoL in 2025](https://github.com/jetty/jetty.project/issues/10485).
* [`org.apache.felix.http.jetty`](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.jetty) - Predecessor implementation that is embedding Jetty server (currently Jetty 11.x, requiring Java 11). This bundle includes the http.api bundle.
* [`org.apache.felix.http.sslfilter`](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.sslfilter) - Servlet filter for handling SSL termination.
* [`org.apache.felix.http.bridge`](https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.http.bridge) - Implementation that uses the host application server (bridged mode). Must be used with the proxy (see below)
Expand All @@ -31,8 +31,8 @@ classpath and deployment!
### Using classifiers: `light`, `with-jetty-websockets` and `with-jakarta-websockets` bundle
If you would like to use your own Jetty jars instead of the one packaged with the Felix Jetty bundles, you can use the variants with the following classifiers:
* `light` - A light version of the bundle that does not include the Jetty classes. This is useful when you want to use your own Jetty jars. Available for both Jetty bundles.
* `with-jetty-websockets` - A bundle that includes the classes required for Jetty WebSocket support for Jakarta EE10. Jetty12 bundle only.
* `with-jakarta-websockets` - A bundle that includes the classes required for Jakarta WebSocket support for Jakarta EE10. Jetty12 bundle only.
* `with-jetty-websockets` - A bundle that includes the classes required for Jetty WebSocket support for Jakarta EE10 (1.0.x) and Jakarta EE11 (1.1.x). Jetty12 bundle only.
* `with-jakarta-websockets` - A bundle that includes the classes required for Jakarta WebSocket support for Jakarta EE10 (1.0.x) and Jakarta EE11 (1.1.x). Jetty12 bundle only.

When building the Felix Jetty bundle with Maven (`mvn clean install`), the additional bundles will be created in the `target` directory, postfixed with classifier.
This jar can be deployed to your Felix OSGi environment, along with a compatible Jetty jars.
Expand Down
6 changes: 3 additions & 3 deletions http/base/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -159,9 +159,9 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10.websocket</groupId>
<artifactId>jetty-ee10-websocket-jetty-server</artifactId>
<version>12.0.22</version>
<groupId>org.eclipse.jetty.ee11.websocket</groupId>
<artifactId>jetty-ee11-websocket-jetty-server</artifactId>
<version>12.1.0.beta1</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import static org.mockito.Mockito.mock;

import org.apache.felix.http.javaxwrappers.ServletWrapper;
import org.eclipse.jetty.ee10.websocket.server.JettyWebSocketServlet;
import org.eclipse.jetty.ee11.websocket.server.JettyWebSocketServlet;
import org.junit.Before;
import org.junit.Test;

Expand Down
2 changes: 1 addition & 1 deletion http/itest/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
<properties>
<felix.java.version>17</felix.java.version>
<http.servlet.api.version>6.1.0</http.servlet.api.version>
<http.jetty.version>1.0.35-SNAPSHOT</http.jetty.version>
<http.jetty.version>1.1.0-SNAPSHOT</http.jetty.version>
<http.jetty.id>org.apache.felix.http.jetty12</http.jetty.id>
</properties>
</profile>
Expand Down
53 changes: 33 additions & 20 deletions http/jetty12/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<description>This is an implementation of the R8.1 OSGi Servlet Service, the R7 OSGi Http Service and the R7 OSGi Http Whiteboard Specification</description>

<artifactId>org.apache.felix.http.jetty12</artifactId>
<version>1.0.35-SNAPSHOT</version>
<version>1.1.0-SNAPSHOT</version>
<packaging>bundle</packaging>

<scm>
Expand All @@ -42,7 +42,7 @@

<properties>
<felix.java.version>17</felix.java.version>
<jetty.version>12.0.22</jetty.version>
<jetty.version>12.1.0.beta1</jetty.version>
<baseline.skip>true</baseline.skip>
<org.ops4j.pax.exam.version>4.13.3</org.ops4j.pax.exam.version>
<!-- To debug the pax process, override this with -D -->
Expand Down Expand Up @@ -75,9 +75,9 @@

if (artifact.getArtifactHandler().isAddedToClasspath() && !org.apache.maven.artifact.Artifact.SCOPE_TEST.equals( artifact.getScope() )
&& !"org.eclipse.jetty.websocket".equals(artifact.getGroupId()) // skip the optional websocket artifacts
&& !"org.eclipse.jetty.ee10.websocket".equals(artifact.getGroupId()) // skip the optional websocket artifacts
&& !"jetty-annotations".equals(artifact.getArtifactId()) // skip the transitive artifacts from the optional websocket artifacts
&& !"jetty-plus".equals(artifact.getArtifactId())
&& !"org.eclipse.jetty.ee11.websocket".equals(artifact.getGroupId()) // skip the optional websocket artifacts
&& !"jetty-ee11-annotations".equals(artifact.getArtifactId()) // skip the transitive artifacts from the optional websocket artifacts
&& !"jetty-ee11-plus".equals(artifact.getArtifactId())
&& !"jetty-webapp".equals(artifact.getArtifactId())
&& !"jetty-ee".equals(artifact.getArtifactId())) {
def jar;
Expand Down Expand Up @@ -184,8 +184,9 @@
org.eclipse.jetty.server.*,
org.eclipse.jetty.util.*,
org.eclipse.jetty.ee.*,
!org.eclipse.jetty.ee10.websocket.*,
org.eclipse.jetty.ee10.servlet.*,
!org.eclipse.jetty.ee11.websocket.*,
org.eclipse.jetty.ee11.servlet.*,
org.eclipse.jetty.compression.*,
org.apache.felix.http.jetty,
org.apache.felix.http.jakartawrappers,
org.apache.felix.http.javaxwrappers
Expand Down Expand Up @@ -372,10 +373,11 @@
org.eclipse.jetty.server.*,
org.eclipse.jetty.util.*,
org.eclipse.jetty.ee.*,
org.eclipse.jetty.ee10.servlet.*,
!org.eclipse.jetty.ee10.websocket.jakarta.*,
org.eclipse.jetty.ee10.websocket.*,
org.eclipse.jetty.ee11.servlet.*,
!org.eclipse.jetty.ee11.websocket.jakarta.*,
org.eclipse.jetty.ee11.websocket.*,
org.eclipse.jetty.websocket.*,
org.eclipse.jetty.compression.*,
org.apache.felix.http.jetty,
org.apache.felix.http.jakartawrappers,
org.apache.felix.http.javaxwrappers
Expand Down Expand Up @@ -478,11 +480,12 @@
org.eclipse.jetty.server.*,
org.eclipse.jetty.util.*,
org.eclipse.jetty.ee.*,
!org.eclipse.jetty.ee10.websocket.server.*,
!org.eclipse.jetty.ee10.websocket.servlet.*,
org.eclipse.jetty.ee10.websocket.jakarta.*,
org.eclipse.jetty.ee10.servlet.*,
!org.eclipse.jetty.ee11.websocket.server.*,
!org.eclipse.jetty.ee11.websocket.servlet.*,
org.eclipse.jetty.ee11.websocket.jakarta.*,
org.eclipse.jetty.ee11.servlet.*,
org.eclipse.jetty.websocket.*,
org.eclipse.jetty.compression.*,
org.apache.felix.http.jetty,
org.apache.felix.http.jakartawrappers,
org.apache.felix.http.javaxwrappers
Expand Down Expand Up @@ -634,8 +637,8 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-servlet</artifactId>
<groupId>org.eclipse.jetty.ee11</groupId>
<artifactId>jetty-ee11-servlet</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
Expand Down Expand Up @@ -684,14 +687,14 @@
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10.websocket</groupId>
<artifactId>jetty-ee10-websocket-jakarta-server</artifactId>
<groupId>org.eclipse.jetty.ee11.websocket</groupId>
<artifactId>jetty-ee11-websocket-jakarta-server</artifactId>
<version>${jetty.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.ee10.websocket</groupId>
<artifactId>jetty-ee10-websocket-jetty-server</artifactId>
<groupId>org.eclipse.jetty.ee11.websocket</groupId>
<artifactId>jetty-ee11-websocket-jetty-server</artifactId>
<version>${jetty.version}</version>
<optional>true</optional>
</dependency>
Expand All @@ -706,6 +709,16 @@
<artifactId>jetty-session</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.compression</groupId>
<artifactId>jetty-compression-gzip</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.compression</groupId>
<artifactId>jetty-compression-common</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.servlet</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

import java.util.Map;

import org.eclipse.jetty.ee10.servlet.ErrorHandler;
import org.eclipse.jetty.ee11.servlet.ErrorHandler;
import org.eclipse.jetty.http.HttpFields.Mutable;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Response;
Expand Down
Loading
Loading