/opbeans-java

This is an implementation of the Opbeans Demo app in Java

Primary LanguageJavaMIT LicenseMIT

Build Status

opbeans-java

This is an implementation of the Opbeans Demo app in Java as an Spring Boot application . It uses the same database schema as the Node version.

By default it will use a pre-populated in memory H2 database.

To run the application run the following command from the opbeans folder:

./mvnw  spring-boot:run

Run locally

To run locally, including Server, Kibana and Elasticsearch, use the provided docker compose file by running the command

docker-compose up

Run with Elastic Cloud

  1. Start Elastic Cloud trial (if you don't have it yet)
  2. Add environmental variables ELASTIC_CLOUD_ID and ELASTIC_CLOUD_CREDENTIALS (in format login:password)
  3. Run
docker-compose -f docker-compose-elastic-cloud.yml up

Testing locally

The simplest way to test this demo is by running:

make test

Tests are written using bats under the tests dir

Publishing to dockerhub locally

Publish the docker image with

VERSION=1.2.3 make publish

NOTE: VERSION refers to the tag for the docker image which will be published in the registry

Customize Database

Database can be overridden by using system properties and overriding values from the application property files:

./mvnw  spring-boot:run -Dspring.jpa.database=POSTGRESQL -Dspring.datasource.driverClassName=org.postgresql.Driver -Dspring.datasource.url=jdbc:postgresql://localhost/opbeans?user=postgres&password=verysecure

Another possible way is to create a different property file like application-customdb.properties and enabling it with a profile:

./mvnw  spring-boot:run -Dspring.profiles.active=customdb

Demo notes

The application has a built-in bug that you can trigger by navigating to the path /is-it-coffee-time.