This application demonstrates how to use non-blocking I/O by using new APIs added to ServletInputStream and ServletOutputStream.
The example includes usage of ReadListener and WriteListener interface APIs.
Browse the code to see what it does, or build and run it yourself.
- Download and install Eclipse with the WebSphere Developer Tools.
- Clone this repository.
- Import the sample into Eclipse using File -> Import -> Maven -> Existing Maven Projects option.
- Right click on the project and select Run As -> Run on Server option. Find and select the Liberty profile server and press Finish.
- Go to: http://localhost:9080/sample.javaee7.servlet.nonblocking/
- Go to Help > Eclipse Marketplace > Install Buildship Gradle Integration 2.0
- Clone this project and import into Eclipse as an 'Existing Gradle Project'.
- Go to Window > Show View > Other > Gradle Executions & Gradle Tasks
- Go to Gradle Tasks view and run
clean
in build folder, thenbuild
in build folder, thenlibertyStart
in liberty folder. - You should see the following in the console:
Application sample.javaee7.servlet.nonblocking started in XX.XX seconds.
- Go to: http://localhost:9080/sample.javaee7.servlet.nonblocking/
This project can be built with Apache Maven. The project uses [Liberty Maven Plug-in] to automatically download and install Liberty profile runtime from the Liberty repository. Liberty Maven Plug-in is also used to create, configure, and run the application on the Liberty server.
Use the following steps to run the application with Maven:
-
Execute full Maven build. This will cause Liberty Maven Plug-in to download and install Liberty profile server.
$ mvn clean install
-
To run the server with the Servlet Non-Blocking application execute:
$ mvn liberty:run-server
Once the server is running, the application will be available under http://localhost:9080/sample.javaee7.servlet.nonblocking/.
This project can also be built and run with [Gradle]. The provided build.gradle
file applies the [Liberty Gradle Plug-in] and is configured to automatically download and install the Liberty Java EE Web Profile 7 runtime from Maven Central. The Liberty Gradle Plug-in has built-in tasks that can be used to create, configure, and run the application on the Liberty server.
Use the following steps to run the application with Gradle:
-
Execute the full Gradle build. The Liberty Gradle Plug-in will download and install the Liberty server.
$ ./gradlew clean build
-
To start the server with the Servlet sample execute:
$ ./gradlew libertyStart
Alternatively, execute the run command:
$ ./gradlew libertyRun --no-daemon
Once the server has started, the application will be available under http://localhost:9080/sample.javaee7.servlet.nonblocking.
- To stop the server, execute:
$ ./gradlew libertyStop
Please refer to the [ci.gradle] repository for documentation about using the Liberty Gradle Plug-in.
Click the button below to deploy your own copy of this application to Bluemix.
Once the application is deployed and running in bluemix, it will be available under http://MYAPPNAME.mybluemix.net/sample.javaee7.servlet.nonblocking/.
© Copyright IBM Corporation 2015, 2017.