Client-Server Microservice application demonstrating terminal pooling
- JDK 1.8 or later
- Maven 3.5+
- Run
mvn clean package
- Run Server
java -jar -Dspring.config.additional-location=server.properties terminal-server/target/terminal-server-0.0.1-SNAPSHOT.jar
- Run client
java -jar -Dspring.config.additional-location=client.properties terminal-client/target/terminal-client-0.0.1-SNAPSHOT.jar
- client|server.properties only needed to override defaults
curl -X PUT http://localhost:5000/v1/terminal/client -H 'Content-Type: application/json'
- Corner case where client requests terminalId but fails to make processing for that terminal? This could lead to a denial of service. Can be easily ameliorated with a LRU cache where terminals must be used within certain periods otherwise terminal is set to open again fixed in #1