RESTeasy test suite
parent
3b552349ae
commit
6d58ec6df8
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>twopm.tech.jax-rs-bench</groupId>
|
||||
<artifactId>bom</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<artifactId>resteasy-jdk-http</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jboss.resteasy</groupId>
|
||||
<artifactId>resteasy-jdk-http</artifactId>
|
||||
<version>${resteasy.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>${maven.shade.plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
||||
<transformers>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<Main-Class>${app.main.class}</Main-Class>
|
||||
</transformer>
|
||||
</transformers>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@ -0,0 +1,23 @@
|
||||
package twopm.tech.bench.jaxrs;
|
||||
|
||||
import com.sun.net.httpserver.HttpContext;
|
||||
import com.sun.net.httpserver.HttpServer;
|
||||
import java.io.IOException;
|
||||
import java.net.InetSocketAddress;
|
||||
import org.jboss.resteasy.plugins.server.sun.http.HttpContextBuilder;
|
||||
|
||||
public class Bench {
|
||||
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
HttpServer server = HttpServer.create(new InetSocketAddress(8080), 10);
|
||||
HttpContextBuilder contextBuilder = new HttpContextBuilder();
|
||||
contextBuilder.getDeployment().getActualResourceClasses().add(TestResource.class);
|
||||
HttpContext context = contextBuilder.bind(server);
|
||||
server.start();
|
||||
|
||||
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
|
||||
contextBuilder.cleanup();
|
||||
server.stop(0);
|
||||
}));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package twopm.tech.bench.jaxrs;
|
||||
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
|
||||
@Path("test")
|
||||
public class TestResource {
|
||||
|
||||
@GET
|
||||
@Path("/")
|
||||
@Produces("application/json")
|
||||
public String index() {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"GET\" }";
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("{id}")
|
||||
@Produces("application/json")
|
||||
public String get(@PathParam("id") Long id) {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"GET\", \"test\" : " + String.valueOf(id) + " }";
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("{id}")
|
||||
@Produces("application/json")
|
||||
public String post(@PathParam("id") Long id) {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"POST\", \"test\" : " + String.valueOf(id) + " }";
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>twopm.tech.jax-rs-bench</groupId>
|
||||
<artifactId>bom</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<artifactId>resteasy-netty</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jboss.resteasy</groupId>
|
||||
<artifactId>resteasy-netty4</artifactId>
|
||||
<version>${resteasy.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>${maven.shade.plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
||||
<transformers>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<Main-Class>${app.main.class}</Main-Class>
|
||||
</transformer>
|
||||
</transformers>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@ -0,0 +1,21 @@
|
||||
package twopm.tech.bench.jaxrs;
|
||||
|
||||
import java.io.IOException;
|
||||
import org.jboss.resteasy.core.ResteasyDeploymentImpl;
|
||||
import static org.jboss.resteasy.plugins.server.netty.NettyContainer.netty;
|
||||
import org.jboss.resteasy.plugins.server.netty.NettyJaxrsServer;
|
||||
import org.jboss.resteasy.spi.ResteasyDeployment;
|
||||
|
||||
public class Bench {
|
||||
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
ResteasyDeployment deployment = new ResteasyDeploymentImpl();
|
||||
deployment.getActualResourceClasses().add(TestResource.class);
|
||||
netty = new NettyJaxrsServer();
|
||||
netty.setDeployment(deployment);
|
||||
netty.setPort(8080);
|
||||
netty.setRootResourcePath("");
|
||||
netty.setSecurityDomain(null);
|
||||
netty.start();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package twopm.tech.bench.jaxrs;
|
||||
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
|
||||
@Path("test")
|
||||
public class TestResource {
|
||||
|
||||
@GET
|
||||
@Path("/")
|
||||
@Produces("application/json")
|
||||
public String index() {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"GET\" }";
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("{id}")
|
||||
@Produces("application/json")
|
||||
public String get(@PathParam("id") Long id) {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"GET\", \"test\" : " + String.valueOf(id) + " }";
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("{id}")
|
||||
@Produces("application/json")
|
||||
public String post(@PathParam("id") Long id) {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"POST\", \"test\" : " + String.valueOf(id) + " }";
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>twopm.tech.jax-rs-bench</groupId>
|
||||
<artifactId>bom</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<artifactId>resteasy-reactor-netty</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jboss.resteasy</groupId>
|
||||
<artifactId>resteasy-reactor-netty</artifactId>
|
||||
<version>${resteasy.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.microprofile.config</groupId>
|
||||
<artifactId>microprofile-config-api</artifactId>
|
||||
<version>2.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>${maven.shade.plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
||||
<transformers>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<Main-Class>${app.main.class}</Main-Class>
|
||||
</transformer>
|
||||
</transformers>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@ -0,0 +1,20 @@
|
||||
package twopm.tech.bench.jaxrs;
|
||||
|
||||
import java.io.IOException;
|
||||
import org.jboss.resteasy.core.ResteasyDeploymentImpl;
|
||||
import org.jboss.resteasy.plugins.server.reactor.netty.ReactorNettyJaxrsServer;
|
||||
import org.jboss.resteasy.spi.ResteasyDeployment;
|
||||
|
||||
public class Bench {
|
||||
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
ResteasyDeployment deployment = new ResteasyDeploymentImpl();
|
||||
deployment.getActualResourceClasses().add(TestResource.class);
|
||||
ReactorNettyJaxrsServer server = new ReactorNettyJaxrsServer();
|
||||
server.setDeployment(deployment);
|
||||
server.setPort(8080);
|
||||
server.setRootResourcePath("");
|
||||
server.setSecurityDomain(null);
|
||||
server.startAndBlock();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package twopm.tech.bench.jaxrs;
|
||||
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
|
||||
@Path("test")
|
||||
public class TestResource {
|
||||
|
||||
@GET
|
||||
@Path("/")
|
||||
@Produces("application/json")
|
||||
public String index() {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"GET\" }";
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("{id}")
|
||||
@Produces("application/json")
|
||||
public String get(@PathParam("id") Long id) {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"GET\", \"test\" : " + String.valueOf(id) + " }";
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("{id}")
|
||||
@Produces("application/json")
|
||||
public String post(@PathParam("id") Long id) {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"POST\", \"test\" : " + String.valueOf(id) + " }";
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>twopm.tech.jax-rs-bench</groupId>
|
||||
<artifactId>bom</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<artifactId>resteasy-undertow</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jboss.resteasy</groupId>
|
||||
<artifactId>resteasy-undertow</artifactId>
|
||||
<version>${resteasy.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>${maven.shade.plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
||||
<transformers>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<Main-Class>${app.main.class}</Main-Class>
|
||||
</transformer>
|
||||
</transformers>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@ -0,0 +1,19 @@
|
||||
package twopm.tech.bench.jaxrs;
|
||||
|
||||
import java.io.IOException;
|
||||
import org.jboss.resteasy.core.ResteasyDeploymentImpl;
|
||||
import org.jboss.resteasy.plugins.server.undertow.UndertowJaxrsServer;
|
||||
import org.jboss.resteasy.spi.ResteasyDeployment;
|
||||
public class Bench {
|
||||
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
ResteasyDeployment deployment = new ResteasyDeploymentImpl();
|
||||
deployment.getActualResourceClasses().add(TestResource.class);
|
||||
UndertowJaxrsServer server = new UndertowJaxrsServer();
|
||||
server.deploy(deployment);
|
||||
server.setPort(8080);
|
||||
server.setRootResourcePath("");
|
||||
server.setSecurityDomain(null);
|
||||
server.start();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package twopm.tech.bench.jaxrs;
|
||||
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
|
||||
@Path("/test")
|
||||
public class TestResource {
|
||||
|
||||
@GET
|
||||
@Path("/")
|
||||
@Produces("application/json")
|
||||
public String index() {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"GET\" }";
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("{id}")
|
||||
@Produces("application/json")
|
||||
public String get(@PathParam("id") Long id) {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"GET\", \"test\" : " + String.valueOf(id) + " }";
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("{id}")
|
||||
@Produces("application/json")
|
||||
public String post(@PathParam("id") Long id) {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"POST\", \"test\" : " + String.valueOf(id) + " }";
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
<?xml version="1.0"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>twopm.tech.jax-rs-bench</groupId>
|
||||
<artifactId>bom</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<artifactId>resteasy-vertx</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jboss.resteasy</groupId>
|
||||
<artifactId>resteasy-vertx</artifactId>
|
||||
<version>${resteasy.version}</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/io.vertx/vertx-core -->
|
||||
<dependency>
|
||||
<groupId>io.vertx</groupId>
|
||||
<artifactId>vertx-core</artifactId>
|
||||
<version>4.2.0</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>${maven.shade.plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
||||
<transformers>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<Main-Class>${app.main.class}</Main-Class>
|
||||
</transformer>
|
||||
</transformers>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@ -0,0 +1,18 @@
|
||||
package twopm.tech.bench.jaxrs;
|
||||
|
||||
import java.io.IOException;
|
||||
import org.jboss.resteasy.plugins.server.vertx.VertxJaxrsServer;
|
||||
import org.jboss.resteasy.plugins.server.vertx.VertxResteasyDeployment;
|
||||
public class Bench {
|
||||
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
VertxResteasyDeployment deployment = new VertxResteasyDeployment();
|
||||
deployment.getActualResourceClasses().add(TestResource.class);
|
||||
VertxJaxrsServer server = new VertxJaxrsServer();
|
||||
server.setDeployment(deployment);
|
||||
server.setPort(8080);
|
||||
server.setRootResourcePath("");
|
||||
server.setSecurityDomain(null);
|
||||
server.start();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package twopm.tech.bench.jaxrs;
|
||||
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
|
||||
@Path("test")
|
||||
public class TestResource {
|
||||
|
||||
@GET
|
||||
@Path("/")
|
||||
@Produces("application/json")
|
||||
public String index() {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"GET\" }";
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("{id}")
|
||||
@Produces("application/json")
|
||||
public String get(@PathParam("id") Long id) {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"GET\", \"test\" : " + String.valueOf(id) + " }";
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("{id}")
|
||||
@Produces("application/json")
|
||||
public String post(@PathParam("id") Long id) {
|
||||
return "{ \"status\" : \"OK\", \"method\" : \"POST\", \"test\" : " + String.valueOf(id) + " }";
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue