This is my first approach to build microservices based on Java 8, Apache Maven and Apache Camel. The technology itself is not the bleeding edge Scala or Clojure stuff that you might expect, but it is tried-and-proven technology that is being used a lot in production systems already. I think it would be nice to use this stable (boring?) stuff to build something new, like microservices being run in Docker containers.
Run with Maven and Java
You can run this example applications like any other Maven project. First, build the whole project by executing the following command in the top directory:
mvn clean package
After that you can start the 2 services, date-service and time-service with pure Java:
java -jar time-service/target/timeservice-*.jar 5678
java -jar date-service/target/dateservice-*.jar 5679
When everything runs fine and there are no ERRORs in your console output, open http://localhost:5678/time or http://localhost:5679/date to see the output of the services.
Run with Docker
You have to build the project with Maven first. Then you can use docker-compose to start the services. Run the following comand in the top directory:
docker-compose up
After that you can open http://localhost:8081/time or http://localhost:8080/date to see the output of the services. If those ports are not free at your machine, you have to edit the Dockerfiles.