Deploy RESTEasy-Spring project into WildFly Servlet-Only Container

By Wei Nan Li | April 10, 2020

In this blog I’d like to demonstrate the process to deploy the resteasy-spring-basic example project into WildFly Servlet-Only Distribution.

The example can be fetched from here:

You can clone the example project and do the package of the example by running the Maven command:

$ pwd
resteasy-examples/resteasy-spring-basic
$ mvn package
...
[INFO] BUILD SUCCESS

After packaging is done we can get a WAR file:

$ ls target/*.war
target/resteasy-spring-example-basic.war

We will use this war to deploy to the WildFly server later.

The next step is to download the WildFly, and here is the download link:

In the download page, you can find the Servlet-Only Distribution. And Click the ZIP format to download it.

For the time I’m writing this blog, the 19.0.0.Final is the latest version, so I downloaded the wildfly-servlet-19.0.0.Final.zip from the page.

After the zip is downloaded, I extract it to my work directory:

$ cd wildfly-servlet-19.0.0.Final

And then I entered the bin directory for the server:

$ cd bin

Then I run the WildFly in standalone mode:

$ ./standalone.sh
...
14:49:27,801 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Servlet 19.0.0.Final (WildFly Core 11.0.0.Final) started in 1772ms - Started 138 of 142 services (40 services are lazy, passive or on-demand)

From above we can see the server is started. Then I opened another terminal window and enter the bin directory again:

$ pwd
wildfly-servlet-19.0.0.Final/bin

Then I run the jboss-cli.sh in the directory and use it to connect to the server:

$ ./jboss-cli.sh
connect You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /] connect localhost
[standalone@localhost:9990 /]

As the text shown above it connected to the WildFly server. Then I deployed the WAR file into the server with following command:

[standalone@localhost:9990 /] deploy resteasy-examples/resteasy-spring-basic/target/resteasy-spring-example-basic.war

After running the above command, the server outputs the log:

14:50:34,459 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 47) WFLYUT0021: Registered web context: '/resteasy-spring-example-basic' for server 'default-server'
14:50:34,496 INFO  [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0010: Deployed "resteasy-spring-example-basic.war" (runtime-name : "resteasy-spring-example-basic.war")

As the log shows the project is deployed. Now we can try to access the service:

$ curl http://localhost:8080/resteasy-spring-example-basic/rest/foo/hello
Hello, world!

As the output shown above we can see the service can be accessed.