Skip to content

Commit 0d60e82

Browse files
authored
Merge branch 'TechEmpower:master' into master
2 parents 34ca8b1 + 434b2bc commit 0d60e82

File tree

19 files changed

+213
-235
lines changed

19 files changed

+213
-235
lines changed

frameworks/Clojure/ring-http-exchange/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@
114114
<dependency>
115115
<groupId>org.clojars.jj</groupId>
116116
<artifactId>ring-http-exchange</artifactId>
117-
<version>1.1.0</version>
117+
<version>1.2.0</version>
118118
</dependency>
119119
<dependency>
120120
<groupId>metosin</groupId>

frameworks/Java/hserver-business/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<parent>
1212
<artifactId>hserver-parent</artifactId>
1313
<groupId>cn.hserver</groupId>
14-
<version>3.6.M3</version>
14+
<version>3.7.0</version>
1515
</parent>
1616
<properties>
1717
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

frameworks/Java/hserver/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<parent>
1212
<artifactId>hserver-parent</artifactId>
1313
<groupId>cn.hserver</groupId>
14-
<version>3.6.M3</version>
14+
<version>3.7.0</version>
1515
</parent>
1616
<properties>
1717
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

frameworks/Java/jetty/jetty-servlet.dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
FROM maven:3.6.1-jdk-11-slim as maven
1+
FROM maven:3-eclipse-temurin-24-alpine as maven
22
WORKDIR /jetty
33
COPY pom.xml pom.xml
44
COPY src src
55
RUN mvn compile assembly:single -q -P servlet
66

7-
FROM openjdk:11.0.3-jdk-slim
7+
FROM openjdk:25-jdk-slim
88
WORKDIR /jetty
99
COPY --from=maven /jetty/target/jetty-example-0.1-jar-with-dependencies.jar app.jar
1010

frameworks/Java/jetty/jetty.dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
FROM maven:3.6.1-jdk-11-slim as maven
1+
FROM maven:3-eclipse-temurin-24-alpine as maven
22
WORKDIR /jetty
33
COPY pom.xml pom.xml
44
COPY src src
55
RUN mvn compile assembly:single -q
66

7-
FROM openjdk:11.0.3-jdk-slim
7+
FROM openjdk:25-jdk-slim
88
WORKDIR /jetty
99
COPY --from=maven /jetty/target/jetty-example-0.1-jar-with-dependencies.jar app.jar
1010

frameworks/Java/jetty/pom.xml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
<properties>
1111
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
12-
<maven.compiler.source>11</maven.compiler.source>
13-
<maven.compiler.target>11</maven.compiler.target>
14-
<jetty.version>10.0.24</jetty.version>
12+
<maven.compiler.source>21</maven.compiler.source>
13+
<maven.compiler.target>21</maven.compiler.target>
14+
<jetty.version>12.0.22</jetty.version>
1515
<main.class>hello.handler.HelloWebServer</main.class>
1616
</properties>
1717

@@ -23,8 +23,8 @@
2323
</activation>
2424
<dependencies>
2525
<dependency>
26-
<groupId>org.eclipse.jetty</groupId>
27-
<artifactId>jetty-server</artifactId>
26+
<groupId>org.eclipse.jetty.ee10</groupId>
27+
<artifactId>jetty-ee10-servlet</artifactId>
2828
<version>${jetty.version}</version>
2929
</dependency>
3030
</dependencies>
@@ -34,7 +34,7 @@
3434
<inherited>true</inherited>
3535
<groupId>org.apache.maven.plugins</groupId>
3636
<artifactId>maven-compiler-plugin</artifactId>
37-
<version>3.8.0</version>
37+
<version>3.14.0</version>
3838
<configuration>
3939
<excludes>
4040
<exclude>hello/servlet/**</exclude>
@@ -52,14 +52,14 @@
5252
</properties>
5353
<dependencies>
5454
<dependency>
55-
<groupId>org.eclipse.jetty</groupId>
56-
<artifactId>jetty-servlet</artifactId>
55+
<groupId>org.eclipse.jetty.ee10</groupId>
56+
<artifactId>jetty-ee10-servlet</artifactId>
5757
<version>${jetty.version}</version>
5858
</dependency>
5959
<dependency>
60-
<groupId>com.sun.activation</groupId>
61-
<artifactId>jakarta.activation</artifactId>
62-
<version>1.2.1</version>
60+
<groupId>jakarta.activation</groupId>
61+
<artifactId>jakarta.activation-api</artifactId>
62+
<version>2.1.3</version>
6363
</dependency>
6464
</dependencies>
6565
<build>
Lines changed: 21 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,15 @@
11
package hello.handler;
22

3-
import java.io.IOException;
4-
5-
import javax.servlet.ServletException;
6-
import javax.servlet.http.HttpServletRequest;
7-
import javax.servlet.http.HttpServletResponse;
8-
9-
import org.eclipse.jetty.server.Handler;
10-
import org.eclipse.jetty.server.HttpConfiguration;
11-
import org.eclipse.jetty.server.HttpConnectionFactory;
12-
import org.eclipse.jetty.server.Request;
13-
import org.eclipse.jetty.server.Server;
14-
import org.eclipse.jetty.server.ServerConnector;
15-
import org.eclipse.jetty.server.handler.AbstractHandler;
16-
import org.eclipse.jetty.server.handler.AbstractHandlerContainer;
3+
import org.eclipse.jetty.server.*;
4+
import org.eclipse.jetty.util.Callback;
175

186

197
/**
208
* An implementation of the TechEmpower benchmark tests using the Jetty web
21-
* server.
9+
* server.
2210
*/
23-
public final class HelloWebServer
24-
{
25-
public static void main(String[] args) throws Exception
26-
{
11+
public final class HelloWebServer {
12+
public static void main(String[] args) throws Exception {
2713
Server server = new Server(8080);
2814
ServerConnector connector = server.getBean(ServerConnector.class);
2915
HttpConfiguration config = connector.getBean(HttpConnectionFactory.class).getHttpConfiguration();
@@ -36,34 +22,33 @@ public static void main(String[] args) throws Exception
3622
server.start();
3723
server.join();
3824
}
39-
40-
public static class PathHandler extends AbstractHandler
41-
{
42-
JsonHandler _jsonHandler=new JsonHandler();
43-
PlainTextHandler _plainHandler=new PlainTextHandler();
44-
45-
public PathHandler()
46-
{
25+
26+
public static class PathHandler extends Handler.Abstract {
27+
JsonHandler _jsonHandler = new JsonHandler();
28+
PlainTextHandler _plainHandler = new PlainTextHandler();
29+
30+
public PathHandler() {
4731
addBean(_jsonHandler);
4832
addBean(_plainHandler);
4933
}
5034

5135
@Override
52-
public void setServer(Server server)
53-
{
36+
public void setServer(Server server) {
5437
super.setServer(server);
5538
_jsonHandler.setServer(server);
5639
_plainHandler.setServer(server);
5740
}
5841

5942
@Override
60-
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
61-
{
62-
if ("/plaintext".equals(target))
63-
_plainHandler.handle(target,baseRequest,request,response);
64-
else if ("/json".equals(target))
65-
_jsonHandler.handle(target,baseRequest,request,response);
43+
public boolean handle(Request request, Response response, Callback callback) {
44+
String uri = request.getHttpURI().getPath();
45+
46+
if ("/plaintext".equals(uri))
47+
return _plainHandler.handle(request, response, callback);
48+
else if ("/json".equals(uri))
49+
return _jsonHandler.handle(request, response, callback);
50+
else
51+
return false;
6652
}
67-
6853
}
6954
}
Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,35 @@
11
package hello.handler;
22

3-
import java.io.IOException;
4-
import java.util.Collections;
5-
import java.util.Map;
6-
7-
import javax.servlet.ServletException;
8-
import javax.servlet.http.HttpServletRequest;
9-
import javax.servlet.http.HttpServletResponse;
10-
113
import org.eclipse.jetty.http.HttpField;
12-
import org.eclipse.jetty.http.HttpHeader;
13-
import org.eclipse.jetty.http.PreEncodedHttpField;
4+
import org.eclipse.jetty.server.Handler;
145
import org.eclipse.jetty.server.Request;
15-
import org.eclipse.jetty.server.handler.AbstractHandler;
16-
import org.eclipse.jetty.util.ajax.JSON;
6+
import org.eclipse.jetty.server.Response;
7+
import org.eclipse.jetty.util.Callback;
8+
9+
import java.nio.ByteBuffer;
10+
import java.nio.charset.StandardCharsets;
1711

1812

13+
public class JsonHandler extends Handler.Abstract {
14+
15+
private static final HttpField JSON_HEADER = new HttpField("Content-Type", "application/json");
16+
private static final String JSON_RESPONSE = "{\"message\": \"Hello, World!\"}";
1917

20-
public class JsonHandler extends AbstractHandler
21-
{
22-
private JSON json = new JSON();
23-
HttpField contentType = new PreEncodedHttpField(HttpHeader.CONTENT_TYPE,"application/json");
2418

2519
@Override
26-
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
27-
{
28-
baseRequest.setHandled(true);
29-
baseRequest.getResponse().getHttpFields().add(contentType);
30-
Map<String,String> map = Collections.singletonMap("message","Hello, World!");
31-
json.append(response.getWriter(),map);
20+
public boolean handle(Request request, Response response, Callback callback) {
21+
try {
22+
response.setStatus(200);
23+
response.getHeaders().add(JSON_HEADER);
24+
25+
byte[] contentBytes = JSON_RESPONSE.getBytes(StandardCharsets.UTF_8);
26+
ByteBuffer contentBuffer = ByteBuffer.wrap(contentBytes);
27+
response.getHeaders().put("Content-Length", String.valueOf(contentBytes.length));
28+
29+
response.write(true, contentBuffer, callback);
30+
} catch (Exception e) {
31+
callback.failed(e);
32+
}
33+
return true;
3234
}
33-
34-
}
35+
}
Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,35 @@
11
package hello.handler;
22

3-
import java.io.IOException;
43
import java.nio.ByteBuffer;
54
import java.nio.charset.StandardCharsets;
65

7-
import javax.servlet.ServletException;
8-
import javax.servlet.http.HttpServletRequest;
9-
import javax.servlet.http.HttpServletResponse;
10-
116
import org.eclipse.jetty.http.HttpField;
127
import org.eclipse.jetty.http.HttpHeader;
138
import org.eclipse.jetty.http.MimeTypes;
149
import org.eclipse.jetty.http.PreEncodedHttpField;
10+
import org.eclipse.jetty.server.Handler;
1511
import org.eclipse.jetty.server.Request;
16-
import org.eclipse.jetty.server.handler.AbstractHandler;
17-
import org.eclipse.jetty.util.BufferUtil;
12+
import org.eclipse.jetty.server.Response;
13+
import org.eclipse.jetty.util.Callback;
1814

19-
public class PlainTextHandler extends AbstractHandler
20-
{
21-
ByteBuffer helloWorld = BufferUtil.toBuffer("Hello, World!");
22-
HttpField contentType = new PreEncodedHttpField(HttpHeader.CONTENT_TYPE,MimeTypes.Type.TEXT_PLAIN.asString());
15+
public class PlainTextHandler extends Handler.Abstract {
16+
private static final String RESPONSE_BODY = "Hello, World!";
17+
private static final HttpField contentType = new PreEncodedHttpField(HttpHeader.CONTENT_TYPE, MimeTypes.Type.TEXT_PLAIN.asString());
2318

2419
@Override
25-
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
26-
{
27-
baseRequest.setHandled(true);
28-
baseRequest.getResponse().getHttpFields().add(contentType);
29-
baseRequest.getResponse().getHttpOutput().sendContent(helloWorld.slice());
20+
public boolean handle(Request request, Response response, Callback callback) {
21+
try {
22+
response.setStatus(200);
23+
response.getHeaders().put(contentType);
24+
25+
byte[] contentBytes = RESPONSE_BODY.getBytes(StandardCharsets.UTF_8);
26+
ByteBuffer contentBuffer = ByteBuffer.wrap(contentBytes);
27+
response.getHeaders().put("Content-Length", String.valueOf(contentBytes.length));
28+
29+
response.write(true, contentBuffer, callback);
30+
} catch (Exception e) {
31+
callback.failed(e);
32+
}
33+
return true;
3034
}
3135
}

frameworks/Java/jetty/src/main/java/hello/servlet/HelloWebServerServlet.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
import org.eclipse.jetty.server.HttpConnectionFactory;
55
import org.eclipse.jetty.server.Server;
66
import org.eclipse.jetty.server.ServerConnector;
7-
import org.eclipse.jetty.servlet.ServletContextHandler;
7+
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
88

99

1010
/**
1111
* An implementation of the TechEmpower benchmark tests using the Jetty web
1212
* server.
1313
*/
14-
public final class HelloWebServerServlet
14+
public final class HelloWebServerServlet
1515
{
1616

1717
public static void main(String[] args) throws Exception
@@ -26,7 +26,7 @@ public static void main(String[] args) throws Exception
2626
context.setContextPath("/");
2727
server.setHandler(context);
2828

29-
context.addServlet(org.eclipse.jetty.servlet.DefaultServlet.class,"/");
29+
context.addServlet(org.eclipse.jetty.ee10.servlet.DefaultServlet.class,"/");
3030
context.addServlet(JsonServlet.class,"/json");
3131
context.addServlet(PlaintextServlet.class,"/plaintext");
3232

0 commit comments

Comments
 (0)