I have build a sample api that streams back a csv file to the users as it is being build. This can process big data without worrying about memory usage. The data is flushed back to the user after a set amount of lines are created. I have built out a Grizzly implement so that this can be ran outside of a web application server. I'm also leveraging a linter for build.gradle
I used the following:
- Jersey 2
- Spring 4
- org.apache.commons.commons-csv 1.4
- StreamingOutput: javax.ws.rs-api 2.0.1
I'm building with Gradle:
- gradle 3.2.1
In this project I have also played with difference testing frameworks
- org.jmockit 1.24
- junit 4.10
- org.hamcrest 2.0.0.0