An open API service indexing awesome lists of open source software.

https://github.com/yolkhovyy/java-large-xml

Java - stream, parse and reduce large remote XML file
https://github.com/yolkhovyy/java-large-xml

java large-files spring-boot xml

Last synced: 3 months ago
JSON representation

Java - stream, parse and reduce large remote XML file

Awesome Lists containing this project

README

          

# Task

* Create an API server which can analyse content of big XML file
* Create distributable docker container running the server
* The files are based on stack overflow site with data per topic ([805KB](https://s3-eu-west-1.amazonaws.com/merapar-assessment/3dprinting-posts.xml), [71KB](https://s3-eu-west-1.amazonaws.com/merapar-assessment/arabic-posts.xml))

# Mvn run
```bash
$ export MAVEN_OPTS="-Xms16m -Xmx32m"
$ mvn dependency:tree
$ mvn spring-boot:run
```
# Docker run
```bash
$ docker run -e "JAVA_OPTS=-Xms16m -Xmx32m" -p 8080:8080 -t yolkhovyy/large-xml
```

# Test curls
```bash
$ curl -i -X POST -H "Content-Type:application/json" -d '{"url":"https://s3-eu-west-1.amazonaws.com/merapar-assessment/arabic-posts.xml"}' 'http://localhost:8080/analyze/'
$ curl -i -X POST -H "Content-Type:application/json" -d '{"url":"https://s3-eu-west-1.amazonaws.com/merapar-assessment/3dprinting-posts.xml"}' 'http://localhost:8080/analyze/'
```