Skip to content

This is an implementation of the Opbeans Demo app in Java

License

MIT, Apache-2.0 licenses found

Licenses found

MIT
LICENSE
Apache-2.0
LICENSE.txt
Notifications You must be signed in to change notification settings

andremm/opbeans-java

 
 

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.

There is a load generator Docker image that you can build with the following command:

docker build -t opbeans-java-loadgen -f loadgen/Dockerfile loadgen

Then you can run opbeans-java-loadgen as follows:

docker run --name opbeans-java-loadgen --network=host -d opbeans-java-loadgen 

About

This is an implementation of the Opbeans Demo app in Java

Resources

License

MIT, Apache-2.0 licenses found

Licenses found

MIT
LICENSE
Apache-2.0
LICENSE.txt

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TSQL 98.9%
  • Java 0.8%
  • HTML 0.1%
  • Dockerfile 0.1%
  • JavaScript 0.1%
  • Shell 0.0%