Skip to content

Commit

Permalink
Split AnnotationCometDServlet into module cometd-java-annotation-serv…
Browse files Browse the repository at this point in the history
…er-jakarta.

Updated release.sh.
Updated documentation <web-app> elements to Servlet 6.
Updated migration guide for 8.0.x.
Removed Java 17 profiles.
Require Java 17 and Maven 3.9 for the build.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
  • Loading branch information
sbordet committed Oct 17, 2023
1 parent a101c59 commit 60dde4c
Show file tree
Hide file tree
Showing 29 changed files with 135 additions and 103 deletions.
Expand Up @@ -84,7 +84,7 @@
</dependency>
<dependency>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-annotation-server</artifactId>
<artifactId>cometd-java-annotation-server-jakarta</artifactId>
<version>${cometd-version}</version>
</dependency>
<dependency>
Expand Down
Expand Up @@ -84,7 +84,7 @@
</dependency>
<dependency>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-annotation-server</artifactId>
<artifactId>cometd-java-annotation-server-jakarta</artifactId>
<version>${cometd-version}</version>
</dependency>
<dependency>
Expand Down
2 changes: 1 addition & 1 deletion cometd-demo/src/main/webapp/WEB-INF/web.xml
Expand Up @@ -26,7 +26,7 @@
<!-- CometD Servlet -->
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.annotation.server.AnnotationCometDServlet</servlet-class>
<servlet-class>org.cometd.annotation.server.jakarta.AnnotationCometDServlet</servlet-class>
<init-param>
<param-name>timeout</param-name>
<param-value>20000</param-value>
Expand Down
4 changes: 2 additions & 2 deletions cometd-distribution/src/main/scripts/release.sh
Expand Up @@ -34,12 +34,12 @@ tar cvf - -C ${COMETD_DIR}/cometd-documentation/target/html . | ssh ubuntu@docs.

if yes_no "Relink documentation ? (Y/n)" y; then
echo "Relinking documentation"
ssh ubuntu@docs.cometd.org "sudo -u www-data bash -c 'cd ${DOCS_ROOT} && ln -fns ${VERSION} current7'"
ssh ubuntu@docs.cometd.org "sudo -u www-data bash -c 'cd ${DOCS_ROOT} && ln -fns ${VERSION} current8'"
fi

echo "Updating cometd-javascript repository"
COMETD_JS_DIR=${COMETD_DIR}/target/release/cometd-javascript
git clone --branch 7.0.x git@github.com:cometd/cometd-javascript.git ${COMETD_JS_DIR}
git clone --branch 8.0.x git@github.com:cometd/cometd-javascript.git ${COMETD_JS_DIR}

COMETD_JS_SOURCE=${COMETD_DIR}/cometd-javascript/common/target/cometd-javascript-common-${VERSION}/js
cp -v ${COMETD_JS_SOURCE}/cometd/cometd.js ${COMETD_JS_DIR}
Expand Down
2 changes: 1 addition & 1 deletion cometd-documentation/pom.xml
Expand Up @@ -102,7 +102,7 @@
</dependency>
<dependency>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-annotation-server</artifactId>
<artifactId>cometd-java-annotation-server-jakarta</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
Expand Down
8 changes: 4 additions & 4 deletions cometd-documentation/src/main/asciidoc/java_oort.adoc
Expand Up @@ -222,8 +222,8 @@ You can accomplish the static discovery configuration either via code, or by con
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
version="6.0">
<servlet>
<servlet-name>cometd</servlet-name>
Expand Down Expand Up @@ -409,8 +409,8 @@ You accomplish this by configuring the Oort configuration servlets to set the `o
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
version="6.0">
<servlet>
<servlet-name>cometd</servlet-name>
Expand Down
6 changes: 3 additions & 3 deletions cometd-documentation/src/main/asciidoc/java_oort_object.adoc
Expand Up @@ -227,12 +227,12 @@ You must specify class `MyCustomJSONContextServer` as the `jsonContext` paramete
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
version="6.0">
...
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.annotation.server.AnnotationCometDServlet</servlet-class>
<servlet-class>org.cometd.annotation.server.jakarta.AnnotationCometDServlet</servlet-class>
<init-param>
<param-name>jsonContext</param-name>
<param-value>com.acme.MyCustomJSONContextServer</param-value>
Expand Down
Expand Up @@ -265,8 +265,8 @@ Here is an example of `web.xml` configuration for the `CrossOriginFilter`:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
version="6.0">
<servlet>
<servlet-name>cometd</servlet-name>
Expand Down
4 changes: 2 additions & 2 deletions cometd-documentation/src/main/asciidoc/java_server_jmx.adoc
Expand Up @@ -64,8 +64,8 @@ with the corresponding `web.xml` configuration:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
version="6.0">
<!-- The rest of your web.xml -->
Expand Down
Expand Up @@ -65,8 +65,8 @@ Here is a sample `web.xml` file:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
version="6.0">
<servlet>
<servlet-name>cometd</servlet-name>
Expand Down
52 changes: 37 additions & 15 deletions cometd-documentation/src/main/asciidoc/migration.adoc
Expand Up @@ -762,37 +762,59 @@ Migration from CometD 6.0.x to CometD 7.0.x implies migrating from Jetty 10.0.x
| Java 11 | Java 17
|===

==== Servlet Specification Changes
==== Jetty Dependency Changes

[cols="1a,1a", options="header"]
[cols="1,1", options="header"]
|===
| CometD 7.0.x | CometD 8.0.x
| Servlet 5.0 | Servlet 6.0
| CometD 7.0.x | CometD 8.0.x
| Jetty 11.0.x | Jetty 12.0.x
|===

==== Class Names Changes
==== Servlet Specification Changes

[cols="1a,1a", options="header"]
|===
| CometD 7.0.x | CometD 8.0.x
| `org.cometd.**server**.CometDServlet` | `org.cometd.**server.http.jakarta.**CometDServlet`
// TODO
| Servlet 5.0 (Jakarta EE 9) | Servlet 6.0 (Jakarta EE 10)
|===

==== Maven Artifacts Changes
==== Package/Class Names Changes

The most notable changes are the split of artifacts to separate Jakarta EE 10 Servlet classes.

[cols="1a,1a", options="header"]
|===
| CometD 7.0.x | CometD 8.0.x
// TODO
| `org.cometd.**server**.CometDServlet` | `org.cometd.**server.http.jakarta**.CometDServlet`
| `org.cometd.annotation.server.AnnotationCometDServlet` | `org.cometd.annotation.server.**jakarta**.AnnotationCometDServlet`
| `org.cometd.oort.OortStaticConfigServlet` | `org.cometd.oort.**jakarta**.OortStaticConfigServlet`
| `org.cometd.oort.OortMulticastConfigServlet` | `org.cometd.oort.**jakarta**.OortMulticastConfigServlet`
| `org.cometd.oort.SetServlet` | `org.cometd.oort.**jakarta**.SetServlet`
| `org.cometd.client.websocket.**javax**.*` | `org.cometd.client.websocket.**jakarta**.*`
| `org.cometd.server.websocket.**javax**.*` | `org.cometd.server.websocket.**jakarta**.*`
|===

==== Jetty Dependency Changes
==== Maven Artifacts Changes

[cols="1,1", options="header"]
The most notable changes are the split of artifacts to separate Jakarta EE 10 Servlet classes.

For example, class `CometDServlet` is in artifact `cometd-java-server-common` in CometD 7.0.x, and in artifact `cometd-java-server-http-jakarta` in CometD 8.0.x, but you can also use artifact ``cometd-java-server-http-jetty` if you are running in a Jetty 12 core environment.

`Oort` and `Seti` configuration Servlets have been moved from artifact `cometd-java-oort` in CometD 7.0.x to artifact `cometd-java-oort-jakarta` in CometD 8.0.x.
The `Oort` and `Seti` classes independent of Jakarta EE 10 have been moved from artifact `cometd-java-oort` in CometD 7.0.x to artifact `cometd-java-oort-common` in CometD 8.0.x.

[cols="1a,1a", options="header"]
|===
| CometD 7.0.x | CometD 8.0.x
| Jetty 11.0.x | Jetty 12.0.x
| CometD 7.0.x | CometD 8.0.x
| `cometd-java-annotation-server` | `cometd-java-annotation-server` +
`cometd-java-annotation-server-**jakarta**`
| `cometd-java-client-websocket-**javax**` | `cometd-java-client-websocket-**jakarta**`
| `cometd-java-**oort**` | `cometd-java-**oort-common**` +
`cometd-java-**oort-jakarta**`
| `cometd-java-server-common` | `cometd-java-server-common` +
`cometd-java-server-**http-jakarta**` +
`cometd-java-server-**http-jetty**`
| `cometd-java-server-websocket-**javax**` | `cometd-java-server-websocket-**jakarta**`
|===

==== `web.xml` Changes
Expand All @@ -817,8 +839,8 @@ Migration from CometD 6.0.x to CometD 7.0.x implies migrating from Jetty 10.0.x
----
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd" <!--1-->
version="6.0"> <!--2-->
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd" <1>
version="6.0"> <2>
----
<1> `schemaLocation` attribute changed URI path
<2> `version` attribute changed from `5.0` to `6.0`
Expand Down
@@ -0,0 +1,30 @@
<?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">
<parent>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-annotation</artifactId>
<version>8.0.0-SNAPSHOT</version>
</parent>

<modelVersion>4.0.0</modelVersion>
<artifactId>cometd-java-annotation-server-jakarta</artifactId>
<name>CometD :: Java :: Annotation :: Server :: Jakarta</name>

<dependencies>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-annotation-server</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-server-http-jakarta</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>

</project>
@@ -0,0 +1,23 @@
/*
* Copyright (c) 2008-2022 the original author or authors.
*
* Licensed 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.
*/
module org.cometd.annotation.server.jakarta {
exports org.cometd.annotation.server.jakarta;

requires transitive jakarta.servlet;
requires transitive org.cometd.annotation.server;
requires transitive org.cometd.server.http.jakarta;
requires org.slf4j;
}
Expand Up @@ -13,12 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.cometd.annotation.server;
package org.cometd.annotation.server.jakarta;

import java.util.ArrayList;
import java.util.List;
import jakarta.servlet.ServletException;

import org.cometd.annotation.server.ServerAnnotationProcessor;
import org.cometd.bayeux.server.BayeuxServer;
import org.cometd.server.http.jakarta.CometDServlet;
import org.slf4j.Logger;
Expand All @@ -31,10 +32,10 @@
* <p>
* A configuration example:
* <pre>{@code
* <web-app xmlns="http://java.sun.com/xml/ns/javaee" ...>
* <web-app ...>
* <servlet>
* <servlet-name>cometd</servlet-name>
* <servlet-class>org.cometd.annotation.AnnotationCometDServlet</servlet-class>
* <servlet-class>org.cometd.annotation.server.jakarta.AnnotationCometDServlet</servlet-class>
* <init-param>
* <param-name>services</param-name>
* <param-value>org.cometd.examples.FooService, org.cometd.examples.BarService</param-value>
Expand Down
Expand Up @@ -16,13 +16,9 @@
<artifactId>cometd-java-annotation-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-server-http-jakarta</artifactId>
<artifactId>cometd-java-api-server</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
Expand Down
Expand Up @@ -18,9 +18,7 @@

requires jakarta.annotation;
requires jakarta.inject;
requires transitive jakarta.servlet;
requires transitive org.cometd.annotation;
requires transitive org.cometd.api.server;
requires transitive org.cometd.server.http.jakarta;
requires org.slf4j;
}
Expand Up @@ -14,20 +14,6 @@
<maven.deploy.skip>true</maven.deploy.skip>
</properties>

<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<!-- Guice still uses javax.inject -->
<exclude>org.cometd.annotation.guice.GuiceAnnotationTest</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>org.cometd.java</groupId>
Expand All @@ -37,7 +23,7 @@
</dependency>
<dependency>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-annotation-server</artifactId>
<artifactId>cometd-java-annotation-server-jakarta</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
Expand Down
Expand Up @@ -19,7 +19,7 @@
import jakarta.annotation.PostConstruct;
import jakarta.annotation.PreDestroy;

import org.cometd.annotation.server.AnnotationCometDServlet;
import org.cometd.annotation.server.jakarta.AnnotationCometDServlet;
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
import org.eclipse.jetty.ee10.servlet.ServletHolder;
import org.eclipse.jetty.server.Server;
Expand Down
1 change: 1 addition & 0 deletions cometd-java/cometd-java-annotation/pom.xml
Expand Up @@ -15,6 +15,7 @@
<module>cometd-java-annotation-common</module>
<module>cometd-java-annotation-client</module>
<module>cometd-java-annotation-server</module>
<module>cometd-java-annotation-server-jakarta</module>
<module>cometd-java-annotation-tests</module>
</modules>
</project>
Expand Up @@ -13,7 +13,7 @@
<dependencies>
<dependency>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-annotation-server</artifactId>
<artifactId>cometd-java-annotation-server-jakarta</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
Expand Down
Expand Up @@ -18,7 +18,7 @@
import java.net.URI;
import java.util.List;

import org.cometd.annotation.server.AnnotationCometDServlet;
import org.cometd.annotation.server.jakarta.AnnotationCometDServlet;
import org.cometd.bayeux.server.BayeuxServer;
import org.cometd.bayeux.server.ServerChannel;
import org.cometd.bayeux.server.ServerMessage.Mutable;
Expand Down

0 comments on commit 60dde4c

Please sign in to comment.