Skip to content

Commit

Permalink
8.0.x : Abstract out CometD from Servlet API (#1385)
Browse files Browse the repository at this point in the history
* Decoupled cometd from Servlet APIs.
* Moved Servlet specific code to different modules.

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
  • Loading branch information
lorban and sbordet committed Oct 13, 2023
1 parent 74a8254 commit 4d11ff5
Show file tree
Hide file tree
Showing 275 changed files with 5,898 additions and 5,684 deletions.
32 changes: 6 additions & 26 deletions cometd-demo/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,9 @@
<version>${jetty-version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2-version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
<version>${log4j2-version}</version>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-slf4j-impl</artifactId>
<version>${jetty-version}</version>
</dependency>
</dependencies>
</plugin>
Expand Down Expand Up @@ -169,7 +164,7 @@
</dependency>
<dependency>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-oort</artifactId>
<artifactId>cometd-java-oort-jakarta</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
Expand Down Expand Up @@ -213,26 +208,11 @@
<version>${jetty-version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>${log4j2-version}</version>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-slf4j-impl</artifactId>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
</dependency>
<dependency>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-client-websocket-jetty</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import jakarta.servlet.ServletContext;

import org.cometd.bayeux.Promise;
import org.cometd.bayeux.server.BayeuxServer;
import org.cometd.bayeux.server.ServerChannel;
import org.cometd.bayeux.server.ServerMessage;
import org.cometd.bayeux.server.ServerSession;
import org.cometd.oort.Oort;
import org.cometd.oort.Seti;
import org.cometd.oort.SetiServlet;
import org.cometd.server.AbstractService;
import org.cometd.server.authorizer.GrantAuthorizer;
import org.slf4j.Logger;
Expand All @@ -49,12 +49,12 @@ public AuctionChatService(ServletContext context) {
_oort = (Oort)context.getAttribute(Oort.OORT_ATTRIBUTE);
if (_oort == null) {
throw new RuntimeException("Missing " + Oort.OORT_ATTRIBUTE + " from " + ServletContext.class.getSimpleName() + "; " +
"is an Oort servlet declared in web.xml ?");
"is an Oort Servlet declared in web.xml?");
}
_seti = (Seti)context.getAttribute(Seti.SETI_ATTRIBUTE);
if (_seti == null) {
throw new RuntimeException("Missing " + Seti.SETI_ATTRIBUTE + " from " + ServletContext.class.getSimpleName() + "; " +
"is " + SetiServlet.class.getSimpleName() + " declared in web.xml ?");
"is a Seti Servlet declared in web.xml?");
}

getBayeux().createChannelIfAbsent("/auction/chat/**", channel -> channel.addAuthorizer(GrantAuthorizer.GRANT_ALL));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import jakarta.servlet.ServletContext;

import org.cometd.bayeux.Message;
import org.cometd.bayeux.Promise;
import org.cometd.bayeux.client.ClientSessionChannel;
Expand All @@ -29,7 +30,6 @@
import org.cometd.bayeux.server.ServerSession;
import org.cometd.oort.Oort;
import org.cometd.oort.Seti;
import org.cometd.oort.SetiServlet;
import org.cometd.server.AbstractService;
import org.cometd.server.authorizer.GrantAuthorizer;
import org.eclipse.jetty.util.thread.AutoLock;
Expand All @@ -53,12 +53,12 @@ public AuctionService(ServletContext context) {
Oort oort = (Oort)context.getAttribute(Oort.OORT_ATTRIBUTE);
if (oort == null) {
throw new RuntimeException("Missing " + Oort.OORT_ATTRIBUTE + " from " + ServletContext.class.getSimpleName() + "; " +
"is an Oort servlet declared in web.xml ?");
"is an Oort Servlet declared in web.xml?");
}
_seti = (Seti)context.getAttribute(Seti.SETI_ATTRIBUTE);
if (_seti == null) {
throw new RuntimeException("Missing " + Seti.SETI_ATTRIBUTE + " from " + ServletContext.class.getSimpleName() + "; " +
"is " + SetiServlet.class.getSimpleName() + " declared in web.xml ?");
"is a Seti Servlet declared in web.xml?");
}

oort.observeChannel(AUCTION_ROOT + "**");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package org.webtide.demo.auction;

import java.util.Map;

import org.eclipse.jetty.util.ajax.JSON;
import org.eclipse.jetty.util.ajax.JSON.Output;

Expand Down Expand Up @@ -47,7 +48,6 @@ public void setUsername(String aUsername) {
username = aUsername;
}


@Override
public boolean equals(Object obj) {
if (obj == this) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package org.webtide.demo.auction;

import java.util.Map;

import org.eclipse.jetty.util.ajax.JSON;
import org.eclipse.jetty.util.ajax.JSON.Output;

Expand Down Expand Up @@ -101,7 +102,6 @@ public int hashCode() {
return id.hashCode();
}


@Override
public Item clone() {
try {
Expand Down
3 changes: 3 additions & 0 deletions cometd-demo/src/main/webapp/WEB-INF/jetty-logging.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Levels: ALL, TRACE, DEBUG, INFO, WARN, ERROR, OFF.
#org.cometd.LEVEL=DEBUG
#org.eclipse.jetty.LEVEL=DEBUG
16 changes: 0 additions & 16 deletions cometd-demo/src/main/webapp/WEB-INF/log4j2.properties

This file was deleted.

6 changes: 3 additions & 3 deletions cometd-demo/src/main/webapp/WEB-INF/web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<!-- Filter to support cross domain requests -->
<filter>
<filter-name>cross-origin</filter-name>
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
<filter-class>org.eclipse.jetty.ee10.servlets.CrossOriginFilter</filter-class>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
Expand Down Expand Up @@ -76,7 +76,7 @@
<!-- Configure Oort Cloud, used by Auction demo -->
<servlet>
<servlet-name>oort</servlet-name>
<servlet-class>org.cometd.oort.OortMulticastConfigServlet</servlet-class>
<servlet-class>org.cometd.oort.jakarta.OortMulticastConfigServlet</servlet-class>
<init-param>
<param-name>oort.url</param-name>
<param-value>http://localhost:8080/cometd</param-value>
Expand All @@ -87,7 +87,7 @@
<!-- Configure Seti ID management, used by Auction demo -->
<servlet>
<servlet-name>seti</servlet-name>
<servlet-class>org.cometd.oort.SetiServlet</servlet-class>
<servlet-class>org.cometd.oort.jakarta.SetiServlet</servlet-class>
<load-on-startup>4</load-on-startup>
</servlet>

Expand Down
2 changes: 1 addition & 1 deletion cometd-demo/src/test/java/org/cometd/demo/Demo.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import java.lang.management.ManagementFactory;

import org.cometd.bayeux.server.BayeuxServer;
import org.cometd.server.CometDServlet;
import org.cometd.server.http.jakarta.CometDServlet;
import org.eclipse.jetty.ee10.servlet.DefaultServlet;
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
import org.eclipse.jetty.ee10.servlet.ServletHolder;
Expand Down
3 changes: 3 additions & 0 deletions cometd-demo/src/test/resources/jetty-logging.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Levels: ALL, TRACE, DEBUG, INFO, WARN, ERROR, OFF.
#org.cometd.LEVEL=DEBUG
#org.eclipse.jetty.LEVEL=DEBUG
16 changes: 0 additions & 16 deletions cometd-demo/src/test/resources/log4j2-test.properties

This file was deleted.

2 changes: 1 addition & 1 deletion cometd-documentation/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
</dependency>
<dependency>
<groupId>org.cometd.java</groupId>
<artifactId>cometd-java-oort</artifactId>
<artifactId>cometd-java-oort-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
Expand Down
2 changes: 1 addition & 1 deletion cometd-documentation/src/main/asciidoc/java_json.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ For example:
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.server.CometDServlet</servlet-class>
<servlet-class>org.cometd.server.http.jakarta.CometDServlet</servlet-class>
<!-- other parameters -->
<init-param>
<param-name>jsonContext</param-name>
Expand Down
16 changes: 8 additions & 8 deletions cometd-documentation/src/main/asciidoc/java_oort.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ You can configure the automatic discovery mechanism either via code, or by confi
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.server.CometDServlet</servlet-class>
<servlet-class>org.cometd.server.http.jakarta.CometDServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
Expand All @@ -119,7 +119,7 @@ You can configure the automatic discovery mechanism either via code, or by confi
<servlet>
<servlet-name>oort</servlet-name>
<servlet-class>org.cometd.oort.OortMulticastConfigServlet</servlet-class>
<servlet-class>org.cometd.oort.jakarta.OortMulticastConfigServletorg.cometd.oort.jakarta.OortMulticastConfigServlet</servlet-class>
<load-on-startup>2</load-on-startup>
<init-param>
<param-name>oort.url</param-name>
Expand Down Expand Up @@ -227,7 +227,7 @@ You can accomplish the static discovery configuration either via code, or by con
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.server.CometDServlet</servlet-class>
<servlet-class>org.cometd.server.http.jakarta.CometDServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
Expand All @@ -238,7 +238,7 @@ You can accomplish the static discovery configuration either via code, or by con
<servlet>
<servlet-name>oort</servlet-name>
<servlet-class>org.cometd.oort.OortStaticConfigServlet</servlet-class>
<servlet-class>org.cometd.oort.jakarta.OortStaticConfigServletorg.cometd.oort.jakarta.OortStaticConfigServlet</servlet-class>
<load-on-startup>2</load-on-startup>
<init-param>
<param-name>oort.url</param-name>
Expand Down Expand Up @@ -279,7 +279,7 @@ To make the Oort node part of the Oort cluster, you can configure the `oort.clou
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.server.CometDServlet</servlet-class>
<servlet-class>org.cometd.server.http.jakarta.CometDServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
Expand All @@ -290,7 +290,7 @@ To make the Oort node part of the Oort cluster, you can configure the `oort.clou
<servlet>
<servlet-name>oort</servlet-name>
<servlet-class>org.cometd.oort.OortStaticConfigServlet</servlet-class>
<servlet-class>org.cometd.oort.jakarta.OortStaticConfigServletorg.cometd.oort.jakarta.OortStaticConfigServlet</servlet-class>
<load-on-startup>2</load-on-startup>
<init-param>
<param-name>oort.url</param-name>
Expand Down Expand Up @@ -414,7 +414,7 @@ You accomplish this by configuring the Oort configuration servlets to set the `o
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.server.CometDServlet</servlet-class>
<servlet-class>org.cometd.server.http.jakarta.CometDServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
Expand All @@ -425,7 +425,7 @@ You accomplish this by configuring the Oort configuration servlets to set the `o
<servlet>
<servlet-name>oort</servlet-name>
<servlet-class>org.cometd.oort.OortMulticastConfigServlet</servlet-class>
<servlet-class>org.cometd.oort.jakarta.OortMulticastConfigServletorg.cometd.oort.jakarta.OortMulticastConfigServlet</servlet-class>
<load-on-startup>2</load-on-startup>
<init-param>
<param-name>oort.url</param-name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ Finally, you must specify class `MyCustomJSONContextClient` as the `jsonContext`
...
<servlet>
<servlet-name>oort-config</servlet-name>
<servlet-class>org.cometd.oort.OortMulticastConfigServlet</servlet-class>
<servlet-class>org.cometd.oort.jakarta.OortMulticastConfigServlet</servlet-class>
<init-param>
<param-name>oort.url</param-name>
<param-value>http://localhost:8080/cometd</param-value>
Expand Down
6 changes: 3 additions & 3 deletions cometd-documentation/src/main/asciidoc/java_oort_seti.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ A configuration example follows:
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.server.CometDServlet</servlet-class>
<servlet-class>org.cometd.server.http.jakarta.CometDServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
Expand All @@ -36,7 +36,7 @@ A configuration example follows:
<servlet>
<servlet-name>oort</servlet-name>
<servlet-class>org.cometd.oort.OortStaticConfigServlet</servlet-class>
<servlet-class>org.cometd.oort.jakarta.OortStaticConfigServlet</servlet-class>
<init-param>
<param-name>oort.url</param-name>
<param-value>http://host:port/context/cometd</param-value>
Expand All @@ -46,7 +46,7 @@ A configuration example follows:
<servlet>
<servlet-name>seti</servlet-name>
<servlet-class>org.cometd.oort.SetiServlet</servlet-class>
<servlet-class>org.cometd.oort.jakarta.SetiServletorg.cometd.oort.jakarta.SetiServlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
</web-app>
Expand Down

0 comments on commit 4d11ff5

Please sign in to comment.