SlideShare a Scribd company logo
Deploying JHipster
Microservices
Ephemeralization
Paul Graham
Ephemeralization
“more and more
with less and less
until eventually you can do
everything with nothing”
- Buckminster Fuller
Measuring Distance
Watching a Movie
yo jhipster
Deploying JHipster Microservices
@codefinger
Joe Kutner
Deploying JHipster Microservices
Deploying JHipster Microservices
git push heroku master
Deploying JHipster Microservices
AGENDA
• What is JHipster?
• Create a JHipster microservices
• Run locally with Docker
• Deploy to Heroku
But first…
We need to get hip
Deploying JHipster Microservices
Clip-on: Ephemeralization of the bowtie
What is JHipster?
$ yo jhipster
├── asks a bunch of questions
├── creates app scaffolding
├── ready to build
├── ready to test

└── ready to run
Yeoman $ yo jhipster:entity
├── asks a bunch of questions
├── creates entity scaffolding
└── creates tests for the entity
$ yo jhipster:heroku
├── asks a bunch of questions
├── creates a Heroku app
└── deploys to Heroku
What’s in a JHipster app?
Spring Boot
AngularJSBootstrap
Docker, Maven, PhantomJS, Cucumber,
SonarQube, Jenkins
Netflix OSS
Spring Cloud
HikariCP
Let’s create a JHipster app!
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.1.0
Application files will be generated in folder: /Users/jkutner/workspace/
? (1/16) Which *type* of application would you like to create? (Use arrow keys)
❯ Monolithic application (recommended for simple projects)
Microservice application
Microservice gateway
[BETA] JHipster UAA server (for microservice OAuth2 authentication)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? (Use arrow keys)
❯ Monolithic application (recommended for simple projects)
Microservice application
Microservice gateway
[BETA] JHipster UAA server (for microservice OAuth2 authentication)
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? (Use arrow keys)
Monolithic application (recommended for simple projects)
❯ Microservice application
Microservice gateway
[BETA] JHipster UAA server (for microservice OAuth2 authentication)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? (Use arrow keys)
Monolithic application (recommended for simple projects)
Microservice application
❯ Microservice gateway
[BETA] JHipster UAA server (for microservice OAuth2 authentication)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? (jhipster)
$ yo jhipster
JavaOneDemo
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port would like your
server to run? It should be unique to avoid port conflicts. (8080)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8080
? (4/13) What is your default Java package name? (com.example)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? (Use arrow keys)
❯ JWT authentication (stateless, with a token)
[BETA] Authentication with JHipster UAA server (the server must be generated separately)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? (Use arrow keys)
❯ SQL (H2, MySQL, PostgreSQL, Oracle)
MongoDB
Cassandra
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use?
MySQL
❯ MariaDB
PostgreSQL
Oracle - Warning! The Oracle JDBC driver (ojdbc) is not bundled because it is not ...
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use?
MySQL
MariaDB
❯ PostgreSQL
Oracle - Warning! The Oracle JDBC driver (ojdbc) is not bundled because it is not ...
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use?
❯ H2 with disk-based persistence
H2 with in-memory persistence
PostgreSQL
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use?
H2 with disk-based persistence
H2 with in-memory persistence
❯ PostgreSQL
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache?
No
Yes, with ehcache (local cache, for a single node)
❯ Yes, with HazelCast (distributed cache, for multiple nodes)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache?
❯ No
Yes, with ehcache (local cache, for a single node)
Yes, with HazelCast (distributed cache, for multiple nodes)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? (Use arrow keys)
❯ Maven
Gradle
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? (Press <space> to select)
❯◯ Search engine using ElasticSearch
◯ Clustered HTTP sessions using Hazelcast
◯ WebSockets using Spring Websocket
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? (Press <space> to select)
◯ Search engine using ElasticSearch
❯◯ Clustered HTTP sessions using Hazelcast
◯ WebSockets using Spring Websocket
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? (Press <space> to select)
◯ Search engine using ElasticSearch
◯ Clustered HTTP sessions using Hazelcast
❯◯ WebSockets using Spring Websocket
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? (Press <space> to select)
◯ Search engine using ElasticSearch
◯ Clustered HTTP sessions using Hazelcast
❯◉ WebSockets using Spring Websocket
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? WebSockets using Spring Websocket
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? (y/N)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? WebSockets using Spring Websocket
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (13/13) Would you like to enable internationalization support? (Y/n)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? WebSockets using Spring Websocket
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (13/13) Would you like to enable internationalization support? Yes
? Please choose the native language of the application? (Use arrow keys)
Czech
Danish
Dutch
❯ English
French
Galician
German
(Move up and down to reveal more choices)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (13/13) Would you like to enable internationalization support? Yes
? Please choose the native language of the application? English
? Please choose additional languages to install (Press <space> to select)
❯◯ Catalan
◯ Chinese (Simplified)
◯ Chinese (Traditional)
◯ Czech
◯ Danish
◯ Dutch
◯ French
(Move up and down to reveal more choices)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (13/13) Would you like to enable internationalization support? Yes
? Please choose the native language of the application? English
? Please choose additional languages to install (Press <space> to select)
❯◉ Catalan
◯ Chinese (Simplified)
◯ Chinese (Traditional)
◯ Czech
◯ Danish
◯ Dutch
◯ French
(Move up and down to reveal more choices)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (13/13) Would you like to enable internationalization support? Yes
? Please choose the native language of the application? English
? Please choose additional languages to install (Press <space> to select)
❯◯ Tamil
◉ Catalan
◯ Chinese (Simplified)
◯ Chinese (Traditional)
◯ Czech
◯ Danish
◯ Dutch
(Move up and down to reveal more choices)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (13/13) Would you like to enable internationalization support? Yes
? Please choose the native language of the application? English
? Please choose additional languages to install (Press <space> to select)
❯◯ Turkish
◯ Tamil
◉ Catalan
◯ Chinese (Simplified)
◯ Chinese (Traditional)
◯ Czech
◯ Danish
(Move up and down to reveal more choices)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (13/13) Would you like to enable internationalization support? Yes
? Please choose the native language of the application? English
? Please choose additional languages to install (Press <space> to select)
❯◯ Swedish
◯ Turkish
◯ Tamil
◉ Catalan
◯ Chinese (Simplified)
◯ Chinese (Traditional)
◯ Czech
(Move up and down to reveal more choices)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (13/13) Would you like to enable internationalization support? Yes
? Please choose the native language of the application? English
? Please choose additional languages to install (Press <space> to select)
❯◉ Swedish
◯ Turkish
◯ Tamil
◉ Catalan
◯ Chinese (Simplified)
◯ Chinese (Traditional)
◯ Czech
(Move up and down to reveal more choices)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? JavaOneDemo
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (13/13) Would you like to enable internationalization support? Yes
? Please choose the native language of the application? English
? Please choose additional languages to install Catalan, Swedish
? (14/13) Which testing frameworks would you like to use? (Press <space> to select)
❯◉ Gatling
◯ Cucumber
◯ Protractor
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/16) Which *type* of application would you like to create? Microservice application
? (2/16) What is the base name of your application? JavaOneDemo
? (3/16) As you are running in a microservice architecture, on which port... 8081
? (4/16) What is your default Java package name? com.example
? (5/16) Which *type* of authentication would you like to use? JWT authentication ...
? (6/16) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/16) Which *production* database would you like to use? PostgreSQL
? (8/16) Which *development* database would you like to use? PostgreSQL
? (9/16) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (13/13) Would you like to enable internationalization support? Yes
? Please choose the native language of the application? English
? Please choose additional languages to install Catalan, Swedish
? (14/13) Which testing frameworks would you like to use? (Press <space> to select)
❯◉ Gatling
◯ Cucumber
◯ Protractor
$ yo jhipster
Hold on to your butts!
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/gateway
? (1/16) Which *type* of application would you like to create? Microservice application
? (2/16) What is the base name of your application? JavaOneDemo
? (3/16) As you are running in a microservice architecture, on which port... 8081
? (4/16) What is your default Java package name? com.example
? (5/16) Which *type* of authentication would you like to use? JWT authentication ...
? (6/16) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL...
? (7/16) Which *production* database would you like to use? PostgreSQL
? (8/16) Which *development* database would you like to use? PostgreSQL
? (9/16) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch
? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No
? (13/13) Would you like to enable internationalization support? Yes
? Please choose the native language of the application? English
? Please choose additional languages to install Catalan, Swedish
? (14/13) Which testing frameworks would you like to use? (Press <space> to select)Gatling
Installing languages: en, ca, sv
$ yo jhipster
create bower.json
create package.json
create README.md
create .gitignore
create .gitattributes
create .editorconfig
create .travis.yml
create src/main/docker/Dockerfile
create src/main/docker/cassandra/scripts/autoMigrate.sh
create src/main/docker/cassandra/scripts/execute-cql.sh
create src/main/docker/central-server-config/application.yml
create src/main/docker/jhipster-registry.yml
create src/main/docker/sonar.yml
create mvnw
create mvnw.cmd
create .mvn/wrapper/maven-wrapper.jar
create .mvn/wrapper/maven-wrapper.properties
create pom.xml
create src/main/resources/banner.txt
create src/main/resources/templates/error.html
create src/main/resources/logback-spring.xml
create src/main/resources/config/application.yml
create src/main/resources/config/application-dev.yml
create src/main/resources/config/application-prod.yml
create src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml
create src/main/resources/config/liquibase/master.xml
create src/main/resources/config/cql/create-keyspace-prod.cql
create src/main/resources/config/cql/create-keyspace.cql
create src/main/resources/config/cql/drop-keyspace.cql
create src/main/resources/config/cql/changelog/README.md
create src/main/resources/i18n/messages.properties
create src/main/java/com/example/security/SpringSecurityAuditorAware.java
create src/main/java/com/example/security/SecurityUtils.java
create src/main/java/com/example/security/AuthoritiesConstants.java
create src/main/java/com/example/security/jwt/TokenProvider.java
create src/main/java/com/example/security/jwt/JWTConfigurer.java
create src/main/java/com/example/security/jwt/JWTFilter.java
create src/main/java/com/example/config/SecurityConfiguration.java
create src/main/java/com/example/security/Http401UnauthorizedEntryPoint.java
create src/main/java/com/example/security/UserDetailsService.java
create src/main/java/com/example/security/UserNotActivatedException.java
create src/main/java/com/example/web/rest/UserJWTController.java
create src/main/java/com/example/web/rest/JWTToken.java
create src/main/java/com/example/security/package-info.java
create src/main/java/com/example/config/GatewayConfiguration.java
create src/main/java/com/example/config/apidoc/GatewaySwaggerResourcesProvider.java
create src/main/java/com/example/gateway/ratelimiting/RateLimitingFilter.java
create src/main/java/com/example/gateway/TokenRelayFilter.java
create src/main/java/com/example/gateway/ratelimiting/RateLimitingRepository.java
create src/main/java/com/example/gateway/accesscontrol/AccessControlFilter.java
create src/main/java/com/example/gateway/responserewriting/SwaggerBasePathRewriting…
create src/main/java/com/example/web/rest/dto/RouteDTO.java
create src/main/java/com/example/web/rest/GatewayResource.java
create src/main/resources/config/bootstrap-dev.yml
create src/main/resources/config/bootstrap-prod.yml
create src/main/java/com/example/config/metrics/SpectatorLogMetricWriter.java
create src/main/java/com/example/JavaOneDemoApp.java
create src/main/java/com/example/ApplicationWebXml.java
create src/main/java/com/example/aop/logging/LoggingAspect.java
create src/main/java/com/example/web/rest/dto/LoginDTO.java
create src/main/java/com/example/config/DefaultProfileUtil.java
create src/main/java/com/example/config/apidoc/package-info.java
create src/main/java/com/example/config/apidoc/SwaggerConfiguration.java
create src/main/java/com/example/config/apidoc/PageableParameterBuilderPlugin.java
create src/main/java/com/example/async/package-info.java
create src/main/java/com/example/async/ExceptionHandlingAsyncTaskExecutor.java
create src/main/java/com/example/config/package-info.java
create src/main/java/com/example/config/AsyncConfiguration.java
create src/main/java/com/example/config/CacheConfiguration.java
create src/main/java/com/example/config/Constants.java
create src/main/java/com/example/config/LoggingConfiguration.java
create src/main/java/com/example/config/CloudDatabaseConfiguration.java
create src/main/java/com/example/config/CloudDatabaseConfiguration.java
create src/main/java/com/example/config/DatabaseConfiguration.java
create src/main/java/com/example/config/audit/package-info.java
create src/main/java/com/example/config/audit/AuditEventConverter.java
create src/main/java/com/example/config/JacksonConfiguration.java
create src/main/java/com/example/config/JHipsterProperties.java
create src/main/java/com/example/config/LocaleConfiguration.java
create src/main/java/com/example/config/LoggingAspectConfiguration.java
create src/main/java/com/example/config/MetricsConfiguration.java
create src/main/java/com/example/config/ThymeleafConfiguration.java
create src/main/java/com/example/config/WebConfigurer.java
create src/main/java/com/example/config/locale/package-info.java
create src/main/java/com/example/config/locale/AngularCookieLocaleResolver.java
create src/main/java/com/example/config/cassandra/CassandraConfiguration.java
create src/main/java/com/example/config/cassandra/CustomZonedDateTimeCodec.java
create src/main/java/com/example/config/cassandra/package-info.java
create src/main/java/com/example/config/liquibase/AsyncSpringLiquibase.java
create src/main/java/com/example/config/liquibase/package-info.java
create src/main/java/com/example/domain/package-info.java
create src/main/java/com/example/domain/util/JSR310DateConverters.java
create src/main/java/com/example/domain/util/JSR310PersistenceConverters.java
create src/main/java/com/example/domain/util/FixedH2Dialect.java
create src/main/java/com/example/domain/util/FixedPostgreSQL82Dialect.java
create src/main/java/com/example/domain/AbstractAuditingEntity.java
create src/main/java/com/example/domain/PersistentAuditEvent.java
create src/main/java/com/example/repository/package-info.java
create src/main/java/com/example/service/package-info.java
create src/main/java/com/example/service/util/RandomUtil.java
create src/main/java/com/example/web/rest/errors/ErrorConstants.java
create src/main/java/com/example/web/rest/errors/CustomParameterizedException.java
create src/main/java/com/example/web/rest/errors/ErrorDTO.java
create src/main/java/com/example/web/rest/errors/ExceptionTranslator.java
create src/main/java/com/example/web/rest/errors/FieldErrorDTO.java
create src/main/java/com/example/web/rest/errors/ParameterizedErrorDTO.java
create src/main/java/com/example/web/filter/package-info.java
create src/main/java/com/example/web/filter/CachingHttpHeadersFilter.java
create src/main/java/com/example/web/rest/dto/package-info.java
create src/main/java/com/example/web/rest/dto/LoggerDTO.java
create src/main/java/com/example/web/rest/util/HeaderUtil.java
create src/main/java/com/example/web/rest/util/PaginationUtil.java
create src/main/java/com/example/web/rest/package-info.java
create src/main/java/com/example/web/rest/LogsResource.java
create src/main/java/com/example/web/rest/ProfileInfoResource.java
create src/test/java/com/example/web/rest/TestUtil.java
create src/test/resources/config/application.yml
create src/main/webapp/app/services/auth/register.service.js
create src/main/webapp/app/services/user/user.service.js
create src/main/webapp/app/services/profiles/profile.service.js
create src/main/webapp/app/services/profiles/page-ribbon.directive.js
create src/main/webapp/content/images/hipster.png
create src/main/webapp/content/images/hipster2x.png
create src/main/webapp/content/images/logo-jhipster.png
create src/test/javascript/karma.conf.js
create src/test/javascript/spec/helpers/module.js
create src/test/javascript/spec/helpers/httpBackend.js
create src/test/javascript/spec/app/admin/health/health.controller.spec.js
create src/test/javascript/spec/app/account/password/password.controller.spec.js
create src/test/javascript/spec/app/account/password/password-strength-bar.directive…
create src/test/javascript/spec/app/account/settings/settings.controller.spec.js
create src/test/javascript/spec/app/account/activate/activate.controller.spec.js
create src/test/javascript/spec/app/account/register/register.controller.spec.js
create src/test/javascript/spec/app/account/reset/finish/reset.finish.controller.spec.js
create src/test/javascript/spec/app/account/reset/request/reset.request.controller.spec.js
create src/test/javascript/spec/app/services/auth/auth.services.spec.js
create src/test/javascript/spec/app/components/login/login.controller.spec.js
create src/main/webapp/i18n/en/activate.json
create src/main/webapp/i18n/en/audits.json
create src/main/webapp/i18n/en/configuration.json
create src/main/webapp/i18n/ca/login.json
create src/main/webapp/i18n/ca/logs.json
create src/main/webapp/i18n/ca/home.json
create src/main/webapp/i18n/ca/metrics.json
create src/main/webapp/app/components/language/language.service.js
create src/main/webapp/app/components/login/login.html
create src/main/webapp/app/components/login/login.service.js
create src/main/webapp/app/components/login/login.controller.js
create src/main/webapp/app/components/util/base64.service.js
create src/main/webapp/app/components/util/capitalize.filter.js
create src/main/webapp/app/components/util/parse-links.service.js
create src/main/webapp/app/components/util/truncate-characters.filter.js
create src/main/webapp/app/components/util/truncate-words.filter.js
create src/main/webapp/app/components/util/date-util.service.js
create src/main/webapp/app/components/util/data-util.service.js
create src/main/webapp/app/components/util/pagination-util.service.js
create src/main/webapp/app/components/util/sort.directive.js
create src/main/webapp/app/components/util/sort-by.directive.js
create src/main/webapp/app/components/util/jhi-item-count.directive.js
create src/main/webapp/app/blocks/interceptor/auth.interceptor.js
create src/main/webapp/app/blocks/interceptor/auth-expired.interceptor.js
create src/main/webapp/app/blocks/interceptor/errorhandler.interceptor.js
create src/main/webapp/app/blocks/interceptor/notification.interceptor.js
create src/main/webapp/app/components/alert/alert.service.js
create src/main/webapp/app/components/alert/alert.directive.js
create src/main/webapp/app/components/alert/alert-error.directive.js
create src/main/webapp/app/entities/entity.state.js
create src/main/webapp/app/home/home.html
create src/main/webapp/app/home/home.state.js
create src/main/webapp/app/home/home.controller.js
create src/main/webapp/app/layouts/navbar/active-link.directive.js
create src/main/webapp/app/layouts/navbar/active-menu.directive.js
create src/main/webapp/app/layouts/navbar/navbar.html
create src/main/webapp/app/layouts/navbar/navbar.controller.js
create src/main/webapp/app/layouts/error/error.html
create src/main/webapp/app/layouts/error/accessdenied.html
create src/main/webapp/app/layouts/error/error.state.js
create src/main/webapp/app/services/auth/auth.service.js
create src/main/webapp/app/services/auth/principal.service.js
create src/main/webapp/app/services/auth/has-authority.directive.js
create src/main/java/com/example/security/jwt/JWTFilter.java
create src/main/java/com/example/config/SecurityConfiguration.java
create src/main/java/com/example/security/Http401UnauthorizedEntryPoint.java
create src/main/java/com/example/security/UserDetailsService.java
create src/main/java/com/example/security/UserNotActivatedException.java
create src/main/java/com/example/web/rest/UserJWTController.java
create src/main/java/com/example/web/rest/JWTToken.java
create src/main/java/com/example/security/package-info.java
create src/main/java/com/example/config/GatewayConfiguration.java
create src/main/java/com/example/config/apidoc/GatewaySwaggerResourcesProvider.java
create src/main/java/com/example/gateway/ratelimiting/RateLimitingFilter.java
create src/main/java/com/example/gateway/TokenRelayFilter.java
create src/main/java/com/example/gateway/ratelimiting/RateLimitingRepository.java
create src/main/java/com/example/gateway/accesscontrol/AccessControlFilter.java
create src/main/java/com/example/gateway/responserewriting/SwaggerBasePathRewriting…
create src/main/java/com/example/web/rest/dto/RouteDTO.java
create src/main/java/com/example/web/rest/GatewayResource.java
create src/main/resources/config/bootstrap-dev.yml
create src/main/resources/config/bootstrap-prod.yml
create src/main/java/com/example/config/metrics/SpectatorLogMetricWriter.java
create src/main/java/com/example/JavaOneDemoApp.java
create src/main/java/com/example/ApplicationWebXml.java
create src/main/java/com/example/aop/logging/LoggingAspect.java
create src/main/java/com/example/web/rest/dto/LoginDTO.java
create src/main/java/com/example/config/DefaultProfileUtil.java
create src/main/java/com/example/config/apidoc/package-info.java
create src/main/java/com/example/config/apidoc/SwaggerConfiguration.java
create src/main/java/com/example/config/apidoc/PageableParameterBuilderPlugin.java
create src/main/java/com/example/async/package-info.java
create src/main/java/com/example/async/ExceptionHandlingAsyncTaskExecutor.java
create src/main/java/com/example/config/package-info.java
create src/main/java/com/example/config/AsyncConfiguration.java
create src/main/java/com/example/config/CacheConfiguration.java
create src/main/java/com/example/config/Constants.java
create src/main/java/com/example/config/LoggingConfiguration.java
create src/main/java/com/example/config/CloudDatabaseConfiguration.java
create src/main/java/com/example/config/CloudDatabaseConfiguration.java
create src/main/java/com/example/config/DatabaseConfiguration.java
create src/main/java/com/example/config/audit/package-info.java
create src/main/java/com/example/config/audit/AuditEventConverter.java
create src/main/java/com/example/config/JacksonConfiguration.java
create src/main/java/com/example/config/JHipsterProperties.java
create src/main/java/com/example/config/LocaleConfiguration.java
create src/main/java/com/example/config/LoggingAspectConfiguration.java
create src/main/java/com/example/config/MetricsConfiguration.java
create src/main/java/com/example/config/ThymeleafConfiguration.java
create src/main/java/com/example/config/WebConfigurer.java
create src/main/java/com/example/config/locale/package-info.java
create src/main/java/com/example/config/locale/AngularCookieLocaleResolver.java
create src/main/java/com/example/config/cassandra/CassandraConfiguration.java
create src/main/java/com/example/config/cassandra/CustomZonedDateTimeCodec.java
create src/main/java/com/example/config/cassandra/package-info.java
create src/main/java/com/example/config/liquibase/AsyncSpringLiquibase.java
create src/main/java/com/example/config/liquibase/package-info.java
create src/main/java/com/example/domain/package-info.java
create src/main/java/com/example/domain/util/JSR310DateConverters.java
create src/main/java/com/example/domain/util/JSR310PersistenceConverters.java
create src/main/java/com/example/domain/util/FixedH2Dialect.java
create src/main/java/com/example/domain/util/FixedPostgreSQL82Dialect.java
create src/main/java/com/example/domain/AbstractAuditingEntity.java
create src/main/java/com/example/domain/PersistentAuditEvent.java
create src/main/java/com/example/repository/package-info.java
create src/main/java/com/example/service/package-info.java
create src/main/java/com/example/service/util/RandomUtil.java
create src/main/java/com/example/web/rest/errors/ErrorConstants.java
create src/main/java/com/example/web/rest/errors/CustomParameterizedException.java
create src/main/java/com/example/web/rest/errors/ErrorDTO.java
create src/main/java/com/example/web/rest/errors/ExceptionTranslator.java
create src/main/java/com/example/web/rest/errors/FieldErrorDTO.java
create src/main/java/com/example/web/rest/errors/ParameterizedErrorDTO.java
create src/main/java/com/example/web/filter/package-info.java
create src/main/java/com/example/web/filter/CachingHttpHeadersFilter.java
create src/main/webapp/i18n/ca/password.json
create src/main/webapp/i18n/ca/register.json
create src/main/webapp/i18n/ca/sessions.json
create src/main/webapp/i18n/ca/settings.json
create src/main/webapp/i18n/ca/reset.json
create src/main/webapp/i18n/ca/user-management.json
create src/main/webapp/i18n/ca/global.json
create src/main/webapp/i18n/ca/health.json
create src/main/resources/i18n/messages_ca.properties
I'm all done. Running npm install & bower install for you to install the required
dependencies. If this fails, try running the command yourself.
create src/main/webapp/i18n/ca/password.json
create src/main/webapp/i18n/ca/register.json
create src/main/webapp/i18n/ca/sessions.json
create src/main/webapp/i18n/ca/settings.json
create src/main/webapp/i18n/ca/reset.json
create src/main/webapp/i18n/ca/user-management.json
create src/main/webapp/i18n/ca/global.json
create src/main/webapp/i18n/ca/health.json
create src/main/resources/i18n/messages_ca.properties
I'm all done. Running npm install & bower install for you to install the required
dependencies. If this fails, try running the command yourself.
⸨ ░░░░░░░░░░░░░░░⸩ ⠦ cloneCurrentTree: sill cloneCurrentTree Finish
usually the worst part of my day
create src/main/webapp/i18n/ca/password.json
create src/main/webapp/i18n/ca/register.json
create src/main/webapp/i18n/ca/sessions.json
create src/main/webapp/i18n/ca/settings.json
create src/main/webapp/i18n/ca/reset.json
create src/main/webapp/i18n/ca/user-management.json
create src/main/webapp/i18n/ca/global.json
create src/main/webapp/i18n/ca/health.json
create src/main/resources/i18n/messages_ca.properties
I'm all done. Running npm install & bower install for you to install the required
dependencies. If this fails, try running the command yourself.
Server app generated successfully.
Client app generated successfully.
[09:10:45] Using gulpfile ~/workspace/gateway/gulpfile.js
[09:10:45] Starting 'install'...
...
[09:10:45] gulp-inject 1 files into index.html.
[09:10:45] Finished 'inject:troubleshoot' after 4.89 ms
Microservices
Deploying JHipster Microservices
- browser code, assets
- proxy microservices
- client-side load balancing
- fault tolerance
- service registry
- service metadata
- service health
- phonebook for microservices
- RESTful services
- JPA Entities
- Business logic
+
compose
docker-compose
./mvnw package docker:build$
...
[INFO] --- docker-maven-plugin:0.4.10:build (default-cli) @ java-one-demo —
...
Removing intermediate container 391b5792ee80
Successfully built daa78f2d9534
[INFO] Built javaonedemo
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:13 min
[INFO] Finished at: 2016-08-08T08:02:30-05:00
[INFO] Final Memory: 76M/592M
[INFO] ------------------------------------------------------------------------
docker-compose -f src/main/docker/app.yml up$
Creating jhipster-registry
Creating docker_javaonedemo-app_1
Creating javaonedemo-postgresql
Attaching to jhipster-registry, docker_javaonedemo-app_1, javaonedemo-postgresql
javaonedemo-app_1 | The application will start in 30s...
javaonedemo-postgresql | ...
javaonedemo-postgresql | selecting default max_connections ... 100
javaonedemo-postgresql | selecting default shared_buffers ... 128MB
javaonedemo-postgresql | selecting dynamic shared memory implementation ... posix
jhipster-registry | 13:07:54.871 [main] DEBUG org.springframework.beans.factory...
jhipster-registry | ...
javaonedemo-app_1 | ...
javaonedemo-app_1 | ----------------------------------------------------------
javaonedemo-app_1 | Application 'JavaOneDemo' is running! Access URLs:
javaonedemo-app_1 | Local: http://127.0.0.1:8080
javaonedemo-app_1 | External: http://172.22.0.3:8080
javaonedemo-app_1 | ----------------------------------------------------------
javaonedemo-app_1 | ...
javaonedemo-app_1 | ----------------------------------------------------------
javaonedemo-app_1 | Config Server: Connected to the JHipster Registry ...
javaonedemo-app_1 | ----------------------------------------------------------
open http://${DOCKER_IP}:8080$
open http://${DOCKER_IP}:8080$
admin
*****
open http://${DOCKER_IP}:8080$
open http://${DOCKER_IP}:8080$
open http://${DOCKER_IP}:8080$
open http://${DOCKER_IP}:8080$
open http://${DOCKER_IP}:8080$
open http://${DOCKER_IP}:8080$
open http://${DOCKER_IP}:8080$
open http://${DOCKER_IP}:8080$
Think about all the things
you didn’t have to do!
Deploying JHipster Microservices
cd ..$
mkdir book-service$
cd book-service$
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? (Use arrow keys)
❯ Monolithic application (recommended for simple projects)
Microservice application
Microservice gateway
[BETA] JHipster UAA server (for microservice OAuth2 authentication)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? (Use arrow keys)
Monolithic application (recommended for simple projects)
❯ Microservice application
Microservice gateway
[BETA] JHipster UAA server (for microservice OAuth2 authentication)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? (jhipster)
$ yo jhipster
BookService
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port would like your
server to run? It should be unique to avoid port conflicts. (8081)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? (com.example)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? (Use arrow keys)
❯ JWT authentication (stateless, with a token)
[BETA] Authentication with JHipster UAA server (the server must be generated separately)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? (Use arrow keys)
No database
❯ SQL (H2, MySQL, PostgreSQL, Oracle)
MongoDB
Cassandra
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ...
? (7/13) Which *production* database would you like to use?
MySQL
❯ MariaDB
PostgreSQL
Oracle - Warning! The Oracle JDBC driver (ojdbc)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ...
? (7/13) Which *production* database would you like to use?
MySQL
MariaDB
❯ PostgreSQL
Oracle - Warning! The Oracle JDBC driver (ojdbc)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use?
❯ H2 with disk-based persistence
H2 with in-memory persistence
PostgreSQL
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use?
H2 with disk-based persistence
H2 with in-memory persistence
❯ PostgreSQL
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? (Use arrow keys)
No
Yes, with ehcache (local cache, for a single node)
❯ Yes, with HazelCast (distributed cache, for multiple nodes)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? (Use arrow keys)
❯ No
Yes, with ehcache (local cache, for a single node)
Yes, with HazelCast (distributed cache, for multiple nodes)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? (Use arrow keys)
❯ Maven
Gradle
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? (Press <space> to select)
❯◯ Search engine using ElasticSearch
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? (Press <space> to select)
? (12/13) Would you like to enable internationalization support? (Y/n)
$ yo jhipster
██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████████ ██ ███████ █████ ██ ██████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██
http://jhipster.github.io
Welcome to the JHipster Generator v3.7.0
Application files will be generated in folder: /Users/jkutner/workspace/book-service
? (1/13) Which *type* of application would you like to create? Microservice application
? (2/13) What is the base name of your application? BookService
? (3/13) As you are running in a microservice architecture, on which port... 8081
? (4/13) What is your default Java package name? com.example
? (5/13) Which *type* of authentication would you like to use? JWT authentication ...
? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ...
? (7/13) Which *production* database would you like to use? PostgreSQL
? (8/13) Which *development* database would you like to use? PostgreSQL
? (9/13) Do you want to use Hibernate 2nd level cache? No
? (10/13) Would you like to use Maven or Gradle for building the backend? Maven
? (11/13) Which other technologies would you like to use? (Press <space> to select)
? (12/13) Would you like to enable internationalization support? No
? (13/13) Which testing frameworks would you like to use? (Press <space> to select)
❯◉ Gatling
◯ Cucumber
$ yo jhipster
create README.md
create .gitignore
create .gitattributes
create .editorconfig
create .travis.yml
create Jenkinsfile
create src/main/docker/Dockerfile
create src/main/docker/app.yml
create src/main/docker/central-server-config/application.yml
create src/main/docker/jhipster-registry.yml
create src/main/docker/sonar.yml
create mvnw
create mvnw.cmd
create .mvn/wrapper/maven-wrapper.jar
create .mvn/wrapper/maven-wrapper.properties
create pom.xml
create src/main/resources/banner.txt
create src/main/resources/templates/error.html
create src/main/resources/logback-spring.xml
create src/main/resources/config/application.yml
create src/main/resources/config/application-dev.yml
create src/main/resources/config/application-prod.yml
create src/main/resources/i18n/messages.properties
create src/main/java/com/example/security/SecurityUtils.java
create src/main/java/com/example/security/AuthoritiesConstants.java
create src/main/java/com/example/security/jwt/TokenProvider.java
create src/main/java/com/example/security/jwt/JWTConfigurer.java
create src/main/java/com/example/security/jwt/JWTFilter.java
create src/main/java/com/example/config/MicroserviceSecurityConfiguration.java
create src/main/resources/config/bootstrap-dev.yml
create src/main/resources/config/bootstrap-prod.yml
create src/main/java/com/example/config/metrics/SpectatorLogMetricWriter.java
create src/main/java/com/example/Application.java
create src/main/java/com/example/ApplicationWebXml.java
create src/main/java/com/example/aop/logging/LoggingAspect.java
create src/main/java/com/example/config/DefaultProfileUtil.java
create src/main/java/com/example/config/apidoc/package-info.java
create src/main/java/com/example/config/apidoc/SwaggerConfiguration.java
create src/main/java/com/example/config/apidoc/PageableParameterBuilderPlugin.java
create src/main/java/com/example/async/package-info.java
create src/main/java/com/example/async/ExceptionHandlingAsyncTaskExecutor.java
create src/main/java/com/example/config/package-info.java
create src/main/java/com/example/config/AsyncConfiguration.java
create src/main/java/com/example/config/CacheConfiguration.java
create src/main/java/com/example/config/Constants.java
create src/main/java/com/example/config/LoggingConfiguration.java
create src/main/java/com/example/config/JacksonConfiguration.java
create src/main/java/com/example/config/JHipsterProperties.java
create src/main/java/com/example/config/LocaleConfiguration.java
create src/main/java/com/example/config/LoggingAspectConfiguration.java
create src/main/java/com/example/config/MetricsConfiguration.java
create src/main/java/com/example/config/ThymeleafConfiguration.java
create src/main/java/com/example/config/WebConfigurer.java
create src/main/java/com/example/config/locale/package-info.java
create src/main/java/com/example/config/locale/AngularCookieLocaleResolver.java
create src/main/java/com/example/domain/package-info.java
create src/main/java/com/example/domain/util/JSR310DateConverters.java
create src/main/java/com/example/repository/package-info.java
create src/main/java/com/example/service/package-info.java
create src/main/java/com/example/web/rest/errors/ErrorConstants.java
create src/main/java/com/example/web/rest/errors/CustomParameterizedException.java
create src/main/java/com/example/web/rest/errors/ErrorVM.java
create src/main/java/com/example/web/rest/errors/ExceptionTranslator.java
create src/main/java/com/example/web/rest/errors/FieldErrorVM.java
create src/main/java/com/example/web/rest/errors/ParameterizedErrorVM.java
create src/main/java/com/example/web/filter/package-info.java
create src/main/java/com/example/web/filter/CachingHttpHeadersFilter.java
create src/main/java/com/example/web/rest/vm/package-info.java
create src/main/java/com/example/web/rest/vm/LoggerVM.java
create src/main/java/com/example/web/rest/util/HeaderUtil.java
create src/main/java/com/example/web/rest/util/PaginationUtil.java
create src/main/java/com/example/web/rest/package-info.java
create src/main/java/com/example/web/rest/LogsResource.java
create src/main/java/com/example/web/rest/ProfileInfoResource.java
create src/test/java/com/example/web/rest/TestUtil.java
create src/test/resources/config/application.yml
create src/test/resources/logback-test.xml
create src/test/gatling/conf/gatling.conf
Server app generated successfully.
[INFO] Scanning for projects...
...
Removing intermediate container ebaad5314c62
Successfully built 62e562845b4d
[INFO] Built bookservice[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:00.217s
[INFO] Finished at: Thu Jul 28 20:18:02 CDT 2016
[INFO] Final Memory: 72M/515M
[INFO] ------------------------------------------------------------------------
./mvnw package docker:build$
Gateway BookService
We only want one guy spinning plates
cd ..$
mkdir docker-compose$
cd docker-compose$
yo jhipster:docker-compose$
Welcome to the JHipster Docker Compose Sub-Generator
Files will be generated in folder: /Users/jkutner/workspace/docker-compose
? Enter the root directory where your gateway(s) and microservices are located (../)
yo jhipster:docker-compose$
Welcome to the JHipster Docker Compose Sub-Generator
Files will be generated in folder: /Users/jkutner/workspace/
? Enter the root directory where your gateway(s) and microservices are located ../
2 applications found at /Users/jkutner/workspace/
? Which applications do you want to include in your Docker Compose configuration? ...
❯◯ book-service
◯ gateway
yo jhipster:docker-compose$
Welcome to the JHipster Docker Compose Sub-Generator
Files will be generated in folder: /Users/jkutner/workspace/
? Enter the root directory where your gateway(s) and microservices are located ../
2 applications found at /Users/jkutner/workspace/
? Which applications do you want to include in your Docker Compose configuration?
❯◉ book-service
◯ gateway
yo jhipster:docker-compose$
Welcome to the JHipster Docker Compose Sub-Generator
Files will be generated in folder: /Users/jkutner/workspace/
? Enter the root directory where your gateway(s) and microservices are located ../
2 applications found at /Users/jkutner/workspace/
? Which applications do you want to include in your Docker Compose configuration?
◉ book-service
❯◯ gateway
yo jhipster:docker-compose$
Welcome to the JHipster Docker Compose Sub-Generator
Files will be generated in folder: /Users/jkutner/workspace/
? Enter the root directory where your gateway(s) and microservices are located ../
2 applications found at /Users/jkutner/workspace/
? Which applications do you want to include in your Docker Compose configuration?
◉ book-service
❯◉ gateway
yo jhipster:docker-compose$
Welcome to the JHipster Docker Compose Sub-Generator
Files will be generated in folder: /Users/jkutner/workspace/
? Enter the root directory where your gateway(s) and microservices are located ../
2 applications found at /Users/jkutner/workspace/
? Which applications do you want to include in your Docker Compose configuration?
? Do you want the JHipster Console (based on ELK) to monitor your applications? (Y/n)
yo jhipster:docker-compose$
Welcome to the JHipster Docker Compose Sub-Generator
Files will be generated in folder: /Users/jkutner/workspace/docker-compose
? Enter the root directory where your gateway(s) and microservices are located ../
2 applications found at /Users/jkutner/workspace/
? Which applications do you want to include in your Docker Compose configuration?
? Do you want the JHipster Console (based on ELK) to monitor your applications? No
? Enter the admin password used to secure the JHipster Registry (admin)
yo jhipster:docker-compose$
Welcome to the JHipster Docker Compose Sub-Generator
Files will be generated in folder: /Users/jkutner/workspace/docker-compose
? Enter the root directory where your gateway(s) and microservices are located ../
2 applications found at /Users/jkutner/workspace/
? Which applications do you want to include in your Docker Compose configuration?
? Do you want the JHipster Console (based on ELK) to monitor your applications? No
? Enter the admin password used to secure the JHipster Registry admin
Checking Docker images in applications' directories...
create docker-compose.yml
create jhipster-registry.yml
create central-server-config/application.yml
Docker Compose configuration successfully generated!
You can launch all your infrastructure by running : docker-compose up -d
$
yo jhipster:docker-compose$
Welcome to the JHipster Docker Compose Sub-Generator
Files will be generated in folder: /Users/jkutner/workspace/docker-compose
? Enter the root directory where your gateway(s) and microservices are located ../
2 applications found at /Users/jkutner/workspace/
? Which applications do you want to include in your Docker Compose configuration?
? Do you want the JHipster Console (based on ELK) to monitor your applications? No
? Enter the admin password used to secure the JHipster Registry admin
Checking Docker images in applications' directories...
create docker-compose.yml
create jhipster-registry.yml
create central-server-config/application.yml
Docker Compose configuration successfully generated!
You can launch all your infrastructure by running : docker-compose up -d
$ docker-compose up -d
Creating jhipster-registry
Creating dockercompose_javaonedemo-app_1
Creating dockercompose_bookservice-app_1
Creating javaonedemo-postgresql
Creating bookservice-postgresql
open http://admin:admin@${DOCKER_IP}:8761$
open http://admin:admin@${DOCKER_IP}:8761$
Deploying JHipster Microservices
JHipster-UML
Book
- id: Long
- isbn: String
yo jhipster:entity book$
The entity book is being created.
Generating field #1
? Do you want to add a field to your entity? (Y/n)
cd ../book-service$
yo jhipster:entity book$
The entity book is being created.
Generating field #1
? Do you want to add a field to your entity? Yes
? What is the name of your field?
cd ../book-service$
isbn
yo jhipster:entity book$
The entity book is being created.
Generating field #1
? Do you want to add a field to your entity? Yes
? What is the name of your field? isbn
? What is the type of your field? (Use arrow keys)
❯ String
Integer
Long
Float
Double
BigDecimal
LocalDate
(Move up and down to reveal more choices)
cd ../book-service$
yo jhipster:entity book$
The entity book is being created.
Generating field #1
? Do you want to add a field to your entity? Yes
? What is the name of your field? isbn
? What is the type of your field? String
? Do you want to add validation rules to your field? (y/N)
cd ../book-service$
yo jhipster:entity book$
The entity book is being created.
Generating field #1
? Do you want to add a field to your entity? Yes
? What is the name of your field? isbn
? What is the type of your field? String
? Do you want to add validation rules to your field? No
================= Book =================
Fields
isbn (String)
Generating field #2
? Do you want to add a field to your entity? (Y/n)
cd ../book-service$
The entity book is being created.
Generating field #1
? Do you want to add a field to your entity? Yes
? What is the name of your field? isbn
? What is the type of your field? String
? Do you want to add validation rules to your field? No
================= Book =================
Fields
isbn (String)
Generating field #2
? Do you want to add a field to your entity? No
================= Book =================
Fields
isbn (String)
Generating relationships to other entities
? Do you want to add a relationship to another entity? (Y/n)
yo jhipster:entity book$
cd ../book-service$
Generating field #1
? Do you want to add a field to your entity? Yes
? What is the name of your field? isbn
? What is the type of your field? String
? Do you want to add validation rules to your field? No
================= Book =================
Fields
isbn (String)
Generating field #2
? Do you want to add a field to your entity? No
================= Book =================
Fields
isbn (String)
Generating relationships to other entities
? Do you want to add a relationship to another entity? No
================= Book =================
Fields
isbn (String)
? Do you want to use a Data Transfer Object (DTO)? (Use arrow keys)
❯ No, use the entity directly
[BETA] Yes, generate a DTO with MapStruct
? Do you want to add a field to your entity? Yes
? What is the name of your field? isbn
? What is the type of your field? String
? Do you want to add validation rules to your field? No
================= Book =================
Fields
isbn (String)
Generating field #2
? Do you want to add a field to your entity? No
================= Book =================
Fields
isbn (String)
Generating relationships to other entities
? Do you want to add a relationship to another entity? No
================= Book =================
Fields
isbn (String)
? Do you want to use a Data Transfer Object (DTO)? No, use the entity directly
? Do you want to use separate service class for your business logic? (Use arrow keys)
❯ No, the REST controller should use the repository directly
Yes, generate a separate service class
Yes, generate a separate service interface and implementation
? What is the name of your field? isbn
? What is the type of your field? String
? Do you want to add validation rules to your field? No
================= Book =================
Fields
isbn (String)
Generating field #2
? Do you want to add a field to your entity? No
================= Book =================
Fields
isbn (String)
Generating relationships to other entities
? Do you want to add a relationship to another entity? No
================= Book =================
Fields
isbn (String)
? Do you want to use a Data Transfer Object (DTO)? No, use the entity directly
? Do you want to use separate service class for your business logic? No, the REST control...
? Do you want pagination on your entity? (Use arrow keys)
❯ No
Yes, with a simple pager
Yes, with pagination links
Yes, with infinite scroll
Generating field #2
? Do you want to add a field to your entity? No
================= Book =================
Fields
isbn (String)
Generating relationships to other entities
? Do you want to add a relationship to another entity? No
================= Book =================
Fields
isbn (String)
? Do you want to use a Data Transfer Object (DTO)? No, use the entity directly
? Do you want to use separate service class for your business logic? No, the REST control...
? Do you want pagination on your entity? No
Everything is configured, generating the entity...
create .jhipster/Book.json
create src/main/java/com/example/domain/Book.java
create src/main/java/com/example/repository/BookRepository.java
create src/main/java/com/example/web/rest/BookResource.java
create src/main/resources/config/liquibase/changelog/20160808183153_added_entity_Book.xml
conflict src/main/resources/config/liquibase/master.xml
? Overwrite src/main/resources/config/liquibase/master.xml? overwrite
force src/main/resources/config/liquibase/master.xml
create src/test/java/com/example/web/rest/BookResourceIntTest.java
create src/test/gatling/simulations/BookGatlingTest.scala
TO THE GATEWAY!
yo jhipster:entity book$
The entity book is being created.
? Do you want to generate this entity from an existing microservice? (Y/n)
cd ../gateway$
yo jhipster:entity book$
The entity book is being created.
? Do you want to generate this entity from an existing microservice? Yes
? Enter the path to the microservice root directory: (../book-service/)
cd ../gateway$
yo jhipster:entity book$
The entity book is being created.
? Do you want to generate this entity from an existing microservice? Yes
? Enter the path to the microservice root directory: ../book-service
Found the .jhipster/Book.json configuration file, entity can be automatically generated!
? Do you want to update the entity? This will replace the existing files for this entity, all
your custom code will be overwritten (Use arrow keys)
❯ Yes, re generate the entity
[BETA] Yes, add more fields and relationships
[BETA] Yes, remove fields and relationships
No, exit
cd ../gateway$
? Overwrite src/main/webapp/i18n/ca/global.json? overwrite
force src/main/webapp/i18n/ca/global.json
create src/test/javascript/spec/app/entities/book/book-detail.controller.spec.js
Running gulp Inject to add javascript to index
[14:04:34] Using gulpfile ~/workspace/heroku/kissaten/tmp/gateway/gulpfile.js
[14:04:34] Starting 'inject:app'...
[14:04:34] gulp-inject 109 files into index.html.
[14:04:34] Finished 'inject:app' after 311 ms
Found the .jhipster/Book.json configuration file, entity can be automatically generated!
? Do you want to update the entity? This will replace the existing files for this entity, all
your custom code will be overwritten Yes, re generate the entity
create .jhipster/Book.json
create src/main/webapp/app/entities/book/books.html
create src/main/webapp/app/entities/book/book-detail.html
create src/main/webapp/app/entities/book/book-dialog.html
create src/main/webapp/app/entities/book/book-delete-dialog.html
conflict src/main/webapp/app/layouts/navbar/navbar.html
? Overwrite src/main/webapp/app/layouts/navbar/navbar.html? overwrite
force src/main/webapp/app/layouts/navbar/navbar.html
create src/main/webapp/app/entities/book/book.state.js
create src/main/webapp/app/entities/book/book.controller.js
create src/main/webapp/app/entities/book/book-dialog.controller.js
create src/main/webapp/app/entities/book/book-delete-dialog.controller.js
create src/main/webapp/app/entities/book/book-detail.controller.js
create src/main/webapp/app/entities/book/book.service.js
create src/main/webapp/i18n/en/book.json
conflict src/main/webapp/i18n/en/global.json
? Overwrite src/main/webapp/i18n/en/global.json? overwrite
force src/main/webapp/i18n/en/global.json
create src/main/webapp/i18n/ca/book.json
conflict src/main/webapp/i18n/ca/global.json
REBUILD & RESTART
./mvnw package docker:build$
cd ../book-service$
./mvnw package docker:build$
cd ../docker-compose$
docker-compose restart -d$
Restarting bookservice-postgresql ...
Restarting javaonedemo-postgresql ...
Restarting dockercompose_bookservice-app_1 ...
Restarting dockercompose_javaonedemo-app_1 ...
Restarting jhipster-registry ...
open http://${DOCKER_IP}:8080$
open http://${DOCKER_IP}:8080$
open http://${DOCKER_IP}:8080$
open http://${DOCKER_IP}:8080$
1937785319
open http://${DOCKER_IP}:8080$
Think about all the code
you didn’t have to write!
Deployment
1. Deploy the Registry
2. Deploy the Microservice
3. Deploy the Gateway
yo jhipster:heroku
yo jhipster:heroku
https://github.com/jhipster/jhipster-registry
Demo
yo jhipster:heroku$
Heroku configuration is starting
? Name to deploy as: (BookService)
cd ../book-service$
yo jhipster:heroku$
Heroku configuration is starting
? Name to deploy as: BookService
? On which region do you want to deploy ? (Use arrow keys)
❯ us
eu
cd ../book-service$
yo jhipster:heroku$
Heroku configuration is starting
? Name to deploy as: BookService
? On which region do you want to deploy ? us
Initializing Git repository
Initialized empty Git repository in /Users/jkutner/workspace/book-service/.git/
Installing Heroku CLI deployment plugin
cd ../book-service$
yo jhipster:heroku$
Heroku configuration is starting
? Name to deploy as: BookService
? On which region do you want to deploy ? us
Initializing Git repository
Initialized empty Git repository in /Users/jkutner/workspace/book-service/.git/
Installing Heroku CLI deployment plugin
Creating Heroku application and add-ons
heroku create book-service --addons heroku-postgresql
https://book-service.herokuapp.com/ | https://git.heroku.com/book-service.git
cd ../book-service$
yo jhipster:heroku$
Heroku configuration is starting
? Name to deploy as: BookService
? On which region do you want to deploy ? us
Initializing Git repository
Initialized empty Git repository in /Users/jkutner/workspace/book-service/.git/
Installing Heroku CLI deployment plugin
Creating Heroku application and add-ons
heroku create book-service --addons heroku-postgresql
https://book-service.herokuapp.com/ | https://git.heroku.com/book-service.git
? What is the URL of your JHipster Registry?
cd ../book-service$
https://admin:foo@registry.herokuapp.com
yo jhipster:heroku$
Heroku configuration is starting
? Name to deploy as: BookService
? On which region do you want to deploy ? us
Initializing Git repository
Initialized empty Git repository in /Users/jkutner/workspace/book-service/.git/
Installing Heroku CLI deployment plugin
Creating Heroku application and add-ons
heroku create book-service --addons heroku-postgresql
https://book-service.herokuapp.com/ | https://git.heroku.com/book-service.git
? What is the URL of your JHipster Registry? https://admin:foo@registry...
JHIPSTER_REGISTRY_URL: https://admin:foo@registry.herokuapp.com
Creating Heroku deployment files
create src/main/resources/config/bootstrap-heroku.yml
create src/main/resources/config/application-heroku.yml
create Procfile
Building application
cd ../book-service$
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Book Service 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ book-service ---
[INFO] Deleting /Users/jkutner/workspace/heroku/kissaten/tmp/book-service/target
[INFO]
[INFO] --- maven-resources-plugin:3.0.1:copy-resources (default-resources) @ book-service ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 11 resources
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ book-service ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 11 resources
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-versions) @ book-service ---
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.7.201606060606:prepare-agent (pre-unit-tests) @ book-
service ---
[INFO] surefireArgLine set to -javaagent:/Users/jkutner/.m2/repository/org/jacoco/
org.jacoco.agent/0.7.7.201606060606/org.jacoco.agent-0.7.7.201606060606-
runtime.jar=destfile=/Users/jkutner/workspace/heroku/kissaten/tmp/book-service/target/test-
results/coverage/jacoco/jacoco.exec
[INFO]
[INFO] --- maven-processor-plugin:2.2.4:process (process) @ book-service ---
[WARNING] diagnostic: warning: The following options were not recognized by any processor:
'[mapstruct.defaultComponentModel, mapstruct.suppressGeneratorTimestamp]'
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ book-service ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 64 source files to /Users/jkutner/workspace/heroku/kissaten/tmp/book-
service/target/classes
[INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) @ book-service
---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ book-service ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /Users/jkutner/workspace/heroku/kissaten/tmp/book-service/
target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ book-service ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.7.201606060606:report (post-unit-test) @ book-service ---
[INFO] Skipping JaCoCo execution due to missing execution data file.
[INFO]
[INFO] --- maven-war-plugin:2.6:war (default-war) @ book-service ---
[INFO] Packaging webapp
[INFO] Assembling webapp [book-service] in [/Users/jkutner/workspace/heroku/kissaten/tmp/
book-service/target/book-service-0.0.1-SNAPSHOT]
[INFO] Processing war project
[INFO] Webapp assembled in [1417 msecs]
[INFO] Building war: /Users/jkutner/workspace/heroku/kissaten/tmp/book-service/target/book-
service-0.0.1-SNAPSHOT.war
[INFO]
[INFO] --- spring-boot-maven-plugin:1.4.0.RELEASE:repackage (default) @ book-service ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 16.222 s
[INFO] Finished at: 2016-08-09T12:22:35-05:00
[INFO] Final Memory: 75M/508M
[INFO] ------------------------------------------------------------------------
Uploading book-service-0.0.1-SNAPSHOT.war
-----> Packaging application...
- app: book-service
- including: target/book-service-0.0.1-SNAPSHOT.war
-----> Creating build...
- file: slug.tgz
- size: 55MB
-----> Uploading build...
- success
-----> Deploying...
remote:
remote: -----> JVM Common app detected
remote: -----> Installing OpenJDK 1.8... done
remote: -----> Discovering process types
remote: Procfile declares types -> web
remote:
remote: -----> Compressing...
remote: Done: 103.8M
remote: -----> Launching...
remote: Released v5
remote: https://book-service.herokuapp.com/ deployed to Heroku
remote:
-----> Done
heroku ps$
heroku logs$
=== web (Free): java -jar target/*.war --spring.profiles.active=prod,heroku ...
web.1: up 2016/08/12 13:33:39 -0500 (~ 7s ago)
2016-08-12T18:33:39.671749+00:00 app[web.1]: ----------------------------------------------
2016-08-12T18:33:39.671749+00:00 app[web.1]: Application 'BookService' is running! ...
2016-08-12T18:33:39.671750+00:00 app[web.1]: Local: http://127.0.0.1:59101
2016-08-12T18:33:39.671751+00:00 app[web.1]: External: http://172.18.244.210:59101
2016-08-12T18:33:39.671751+00:00 app[web.1]: ----------------------------------------------
2016-08-12T18:33:39.671957+00:00 app[web.1]: 2016-08-12 18:33:39.671 INFO 3 — ...
2016-08-12T18:33:39.671959+00:00 app[web.1]: ----------------------------------------------
2016-08-12T18:33:39.671960+00:00 app[web.1]: Config Server: Connected to the JHipster...
2016-08-12T18:33:39.671961+00:00 app[web.1]: ----------------------------------------------
Deploying JHipster Microservices
cd ../gateway$
yo jhipster:heroku$
heroku open$
heroku open$
heroku open$
heroku open$
1937785319
heroku open$
cd ../book-service$
heroku pg:psql$
select * from book;book-service::DATABASE=>
---> Connecting to DATABASE_URL
...
id | isbn
------+------------
1000 | 1937785319
(1 row)
https://dataclips.heroku.com
Deploying JHipster Microservices
Deploy, Scale, and Sleep Better with Docker
and Dev-Prod Parity [CON4122]
Wednesday, Sep 21, 11:30 a.m.
Want to learn more about Docker?
Deepu K Sasidharan
Project co-lead

@deepu105
Julien Dubois
Project lead

@juliendubois
Thanks!
@codefinger
Joe Kutner
Thank you!

More Related Content

What's hot (20)

PDF
Philip Shurpik "Architecting React Native app"
Fwdays
 
PDF
Jenkins 101: Getting Started
R Geoffrey Avery
 
PDF
Роман Лютиков "Web Apps Performance & JavaScript Compilers"
Fwdays
 
PPT
Lifthub (rpscala #31)
k4200
 
PDF
少し幸せになる技術
kamedon39
 
PPTX
Grooving with Jenkins
Anton Weiss
 
ODP
Jenkins 101: Continuos Integration with Jenkins
All Things Open
 
PPTX
Mobile developer is Software developer
Eugen Martynov
 
PDF
Bootiful Development with Spring Boot and React - RWX 2017
Matt Raible
 
PPTX
Das kannste schon so machen
André Goliath
 
PDF
Javaland 2017: "You´ll do microservices now". Now what?
André Goliath
 
PDF
GWTcon 2015 - Beyond GWT 3.0 Panic
Cristiano Costantini
 
PDF
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
André Goliath
 
PDF
Turducken - Divide and Conquer large GWT apps with multiple teams
Robert Keane
 
ODP
Aug penguin16
alhino
 
PDF
Ant, Maven and Jenkins
Kenu, GwangNam Heo
 
PDF
Implementing Quality on Java projects
Vincent Massol
 
PDF
OSDC 2017 - Julien Pivotto - Automating Jenkins
NETWAYS
 
PPTX
OpenDaylight Developer Experience 2.0
Michael Vorburger
 
PDF
Rise of the Machines - Automate your Development
Sven Peters
 
Philip Shurpik "Architecting React Native app"
Fwdays
 
Jenkins 101: Getting Started
R Geoffrey Avery
 
Роман Лютиков "Web Apps Performance & JavaScript Compilers"
Fwdays
 
Lifthub (rpscala #31)
k4200
 
少し幸せになる技術
kamedon39
 
Grooving with Jenkins
Anton Weiss
 
Jenkins 101: Continuos Integration with Jenkins
All Things Open
 
Mobile developer is Software developer
Eugen Martynov
 
Bootiful Development with Spring Boot and React - RWX 2017
Matt Raible
 
Das kannste schon so machen
André Goliath
 
Javaland 2017: "You´ll do microservices now". Now what?
André Goliath
 
GWTcon 2015 - Beyond GWT 3.0 Panic
Cristiano Costantini
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
André Goliath
 
Turducken - Divide and Conquer large GWT apps with multiple teams
Robert Keane
 
Aug penguin16
alhino
 
Ant, Maven and Jenkins
Kenu, GwangNam Heo
 
Implementing Quality on Java projects
Vincent Massol
 
OSDC 2017 - Julien Pivotto - Automating Jenkins
NETWAYS
 
OpenDaylight Developer Experience 2.0
Michael Vorburger
 
Rise of the Machines - Automate your Development
Sven Peters
 

Similar to Deploying JHipster Microservices (20)

PDF
Microservices for the Masses with Spring Boot, JHipster and OAuth - GIDS 2019
Matt Raible
 
PPTX
Microservices chassis
⎈David Renton🐳
 
PDF
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Matt Raible
 
PDF
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Utah JUG...
Matt Raible
 
PDF
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...
Matt Raible
 
PDF
Microservices for the Masses with Spring Boot, JHipster, and OAuth - London J...
Matt Raible
 
PDF
Microservices for the Masses with Spring Boot and JHipster - Chicago JUG 2018
Matt Raible
 
PDF
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
Matt Raible
 
PDF
When JHipster meets Microsoft-JHipster and Microsoft products
Anthony Viard
 
PDF
(eBook PDF) Full Stack Development with JHipster: Build modern web applicatio...
ashyqqc893
 
PDF
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...
Matt Raible
 
PDF
Devoxx Belgium 2017 - easy microservices with JHipster
Julien Dubois
 
PDF
Easy Microservices with JHipster - Devoxx BE 2017
Deepu K Sasidharan
 
PDF
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...
Matt Raible
 
PDF
What's New in JHipsterLand - Devoxx US 2017
Matt Raible
 
PDF
Introduction to Jhipster
Knoldus Inc.
 
PPTX
J hipster
Rasmita Jena
 
PDF
What's New in JHipsterLand - DevNexus 2017
Matt Raible
 
PDF
JHipster overview and roadmap (August 2017)
Julien Dubois
 
PDF
Devoxx : being productive with JHipster
Julien Dubois
 
Microservices for the Masses with Spring Boot, JHipster and OAuth - GIDS 2019
Matt Raible
 
Microservices chassis
⎈David Renton🐳
 
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Matt Raible
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Utah JUG...
Matt Raible
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...
Matt Raible
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - London J...
Matt Raible
 
Microservices for the Masses with Spring Boot and JHipster - Chicago JUG 2018
Matt Raible
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
Matt Raible
 
When JHipster meets Microsoft-JHipster and Microsoft products
Anthony Viard
 
(eBook PDF) Full Stack Development with JHipster: Build modern web applicatio...
ashyqqc893
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...
Matt Raible
 
Devoxx Belgium 2017 - easy microservices with JHipster
Julien Dubois
 
Easy Microservices with JHipster - Devoxx BE 2017
Deepu K Sasidharan
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...
Matt Raible
 
What's New in JHipsterLand - Devoxx US 2017
Matt Raible
 
Introduction to Jhipster
Knoldus Inc.
 
J hipster
Rasmita Jena
 
What's New in JHipsterLand - DevNexus 2017
Matt Raible
 
JHipster overview and roadmap (August 2017)
Julien Dubois
 
Devoxx : being productive with JHipster
Julien Dubois
 
Ad

More from Joe Kutner (20)

PDF
Fantastic Buildpacks and Where to Find Them
Joe Kutner
 
PDF
2019 Texas Star Party
Joe Kutner
 
PDF
10 Mistakes Hackers Want You to Make
Joe Kutner
 
PDF
NASA Space Apps Expo
Joe Kutner
 
PDF
NASA Space Apps
Joe Kutner
 
PDF
Why Heroku Loves JHipster
Joe Kutner
 
PDF
What the Struts?
Joe Kutner
 
PDF
Async and Non-blocking IO w/ JRuby
Joe Kutner
 
PDF
I can't believe it's not a queue: Kafka and Spring
Joe Kutner
 
PPTX
Measuring doubles with 8&quot; neaf copy
Joe Kutner
 
PDF
4 JVM Web Frameworks
Joe Kutner
 
PDF
JavaOne 2015: 12 Factor App
Joe Kutner
 
PDF
12-factor-jruby
Joe Kutner
 
PDF
Java 20
Joe Kutner
 
PDF
12 Factor Scala
Joe Kutner
 
PDF
Programming JVM Bytecode with Jitescript
Joe Kutner
 
PDF
jdays 2015
Joe Kutner
 
PDF
Programming JVM Bytecode
Joe Kutner
 
PDF
12 Factor App: Best Practices for JVM Deployment
Joe Kutner
 
PDF
Creating Scalable JVM/Java Apps on Heroku
Joe Kutner
 
Fantastic Buildpacks and Where to Find Them
Joe Kutner
 
2019 Texas Star Party
Joe Kutner
 
10 Mistakes Hackers Want You to Make
Joe Kutner
 
NASA Space Apps Expo
Joe Kutner
 
NASA Space Apps
Joe Kutner
 
Why Heroku Loves JHipster
Joe Kutner
 
What the Struts?
Joe Kutner
 
Async and Non-blocking IO w/ JRuby
Joe Kutner
 
I can't believe it's not a queue: Kafka and Spring
Joe Kutner
 
Measuring doubles with 8&quot; neaf copy
Joe Kutner
 
4 JVM Web Frameworks
Joe Kutner
 
JavaOne 2015: 12 Factor App
Joe Kutner
 
12-factor-jruby
Joe Kutner
 
Java 20
Joe Kutner
 
12 Factor Scala
Joe Kutner
 
Programming JVM Bytecode with Jitescript
Joe Kutner
 
jdays 2015
Joe Kutner
 
Programming JVM Bytecode
Joe Kutner
 
12 Factor App: Best Practices for JVM Deployment
Joe Kutner
 
Creating Scalable JVM/Java Apps on Heroku
Joe Kutner
 
Ad

Recently uploaded (20)

PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
Tally software_Introduction_Presentation
AditiBansal54083
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 

Deploying JHipster Microservices

  • 4. Ephemeralization “more and more with less and less until eventually you can do everything with nothing” - Buckminster Fuller
  • 12. git push heroku master
  • 14. AGENDA • What is JHipster? • Create a JHipster microservices • Run locally with Docker • Deploy to Heroku
  • 15. But first… We need to get hip
  • 19. $ yo jhipster ├── asks a bunch of questions ├── creates app scaffolding ├── ready to build ├── ready to test
 └── ready to run Yeoman $ yo jhipster:entity ├── asks a bunch of questions ├── creates entity scaffolding └── creates tests for the entity $ yo jhipster:heroku ├── asks a bunch of questions ├── creates a Heroku app └── deploys to Heroku
  • 20. What’s in a JHipster app?
  • 21. Spring Boot AngularJSBootstrap Docker, Maven, PhantomJS, Cucumber, SonarQube, Jenkins Netflix OSS Spring Cloud HikariCP
  • 22. Let’s create a JHipster app!
  • 23. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.1.0 Application files will be generated in folder: /Users/jkutner/workspace/ ? (1/16) Which *type* of application would you like to create? (Use arrow keys) ❯ Monolithic application (recommended for simple projects) Microservice application Microservice gateway [BETA] JHipster UAA server (for microservice OAuth2 authentication) $ yo jhipster ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? (Use arrow keys) ❯ Monolithic application (recommended for simple projects) Microservice application Microservice gateway [BETA] JHipster UAA server (for microservice OAuth2 authentication)
  • 24. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? (Use arrow keys) Monolithic application (recommended for simple projects) ❯ Microservice application Microservice gateway [BETA] JHipster UAA server (for microservice OAuth2 authentication) $ yo jhipster
  • 25. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? (Use arrow keys) Monolithic application (recommended for simple projects) Microservice application ❯ Microservice gateway [BETA] JHipster UAA server (for microservice OAuth2 authentication) $ yo jhipster
  • 26. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? (jhipster) $ yo jhipster JavaOneDemo
  • 27. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port would like your server to run? It should be unique to avoid port conflicts. (8080) $ yo jhipster
  • 28. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8080 ? (4/13) What is your default Java package name? (com.example) $ yo jhipster
  • 29. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? (Use arrow keys) ❯ JWT authentication (stateless, with a token) [BETA] Authentication with JHipster UAA server (the server must be generated separately) $ yo jhipster
  • 30. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? (Use arrow keys) ❯ SQL (H2, MySQL, PostgreSQL, Oracle) MongoDB Cassandra $ yo jhipster
  • 31. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? MySQL ❯ MariaDB PostgreSQL Oracle - Warning! The Oracle JDBC driver (ojdbc) is not bundled because it is not ... $ yo jhipster
  • 32. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? MySQL MariaDB ❯ PostgreSQL Oracle - Warning! The Oracle JDBC driver (ojdbc) is not bundled because it is not ... $ yo jhipster
  • 33. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? ❯ H2 with disk-based persistence H2 with in-memory persistence PostgreSQL $ yo jhipster
  • 34. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? H2 with disk-based persistence H2 with in-memory persistence ❯ PostgreSQL $ yo jhipster
  • 35. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No Yes, with ehcache (local cache, for a single node) ❯ Yes, with HazelCast (distributed cache, for multiple nodes) $ yo jhipster
  • 36. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? ❯ No Yes, with ehcache (local cache, for a single node) Yes, with HazelCast (distributed cache, for multiple nodes) $ yo jhipster
  • 37. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? (Use arrow keys) ❯ Maven Gradle $ yo jhipster
  • 38. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? (Press <space> to select) ❯◯ Search engine using ElasticSearch ◯ Clustered HTTP sessions using Hazelcast ◯ WebSockets using Spring Websocket $ yo jhipster
  • 39. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? (Press <space> to select) ◯ Search engine using ElasticSearch ❯◯ Clustered HTTP sessions using Hazelcast ◯ WebSockets using Spring Websocket $ yo jhipster
  • 40. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? (Press <space> to select) ◯ Search engine using ElasticSearch ◯ Clustered HTTP sessions using Hazelcast ❯◯ WebSockets using Spring Websocket $ yo jhipster
  • 41. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? (Press <space> to select) ◯ Search engine using ElasticSearch ◯ Clustered HTTP sessions using Hazelcast ❯◉ WebSockets using Spring Websocket $ yo jhipster
  • 42. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? WebSockets using Spring Websocket ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? (y/N) $ yo jhipster
  • 43. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? WebSockets using Spring Websocket ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (13/13) Would you like to enable internationalization support? (Y/n) $ yo jhipster
  • 44. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? WebSockets using Spring Websocket ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (13/13) Would you like to enable internationalization support? Yes ? Please choose the native language of the application? (Use arrow keys) Czech Danish Dutch ❯ English French Galician German (Move up and down to reveal more choices) $ yo jhipster
  • 45. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (13/13) Would you like to enable internationalization support? Yes ? Please choose the native language of the application? English ? Please choose additional languages to install (Press <space> to select) ❯◯ Catalan ◯ Chinese (Simplified) ◯ Chinese (Traditional) ◯ Czech ◯ Danish ◯ Dutch ◯ French (Move up and down to reveal more choices) $ yo jhipster
  • 46. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (13/13) Would you like to enable internationalization support? Yes ? Please choose the native language of the application? English ? Please choose additional languages to install (Press <space> to select) ❯◉ Catalan ◯ Chinese (Simplified) ◯ Chinese (Traditional) ◯ Czech ◯ Danish ◯ Dutch ◯ French (Move up and down to reveal more choices) $ yo jhipster
  • 47. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (13/13) Would you like to enable internationalization support? Yes ? Please choose the native language of the application? English ? Please choose additional languages to install (Press <space> to select) ❯◯ Tamil ◉ Catalan ◯ Chinese (Simplified) ◯ Chinese (Traditional) ◯ Czech ◯ Danish ◯ Dutch (Move up and down to reveal more choices) $ yo jhipster
  • 48. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (13/13) Would you like to enable internationalization support? Yes ? Please choose the native language of the application? English ? Please choose additional languages to install (Press <space> to select) ❯◯ Turkish ◯ Tamil ◉ Catalan ◯ Chinese (Simplified) ◯ Chinese (Traditional) ◯ Czech ◯ Danish (Move up and down to reveal more choices) $ yo jhipster
  • 49. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (13/13) Would you like to enable internationalization support? Yes ? Please choose the native language of the application? English ? Please choose additional languages to install (Press <space> to select) ❯◯ Swedish ◯ Turkish ◯ Tamil ◉ Catalan ◯ Chinese (Simplified) ◯ Chinese (Traditional) ◯ Czech (Move up and down to reveal more choices) $ yo jhipster
  • 50. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (13/13) Would you like to enable internationalization support? Yes ? Please choose the native language of the application? English ? Please choose additional languages to install (Press <space> to select) ❯◉ Swedish ◯ Turkish ◯ Tamil ◉ Catalan ◯ Chinese (Simplified) ◯ Chinese (Traditional) ◯ Czech (Move up and down to reveal more choices) $ yo jhipster
  • 51. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? JavaOneDemo ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (13/13) Would you like to enable internationalization support? Yes ? Please choose the native language of the application? English ? Please choose additional languages to install Catalan, Swedish ? (14/13) Which testing frameworks would you like to use? (Press <space> to select) ❯◉ Gatling ◯ Cucumber ◯ Protractor $ yo jhipster
  • 52. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/16) Which *type* of application would you like to create? Microservice application ? (2/16) What is the base name of your application? JavaOneDemo ? (3/16) As you are running in a microservice architecture, on which port... 8081 ? (4/16) What is your default Java package name? com.example ? (5/16) Which *type* of authentication would you like to use? JWT authentication ... ? (6/16) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/16) Which *production* database would you like to use? PostgreSQL ? (8/16) Which *development* database would you like to use? PostgreSQL ? (9/16) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (13/13) Would you like to enable internationalization support? Yes ? Please choose the native language of the application? English ? Please choose additional languages to install Catalan, Swedish ? (14/13) Which testing frameworks would you like to use? (Press <space> to select) ❯◉ Gatling ◯ Cucumber ◯ Protractor $ yo jhipster Hold on to your butts!
  • 53. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/gateway ? (1/16) Which *type* of application would you like to create? Microservice application ? (2/16) What is the base name of your application? JavaOneDemo ? (3/16) As you are running in a microservice architecture, on which port... 8081 ? (4/16) What is your default Java package name? com.example ? (5/16) Which *type* of authentication would you like to use? JWT authentication ... ? (6/16) Which *type* of database would you like to use? SQL (H2, MySQL, PostgreSQL... ? (7/16) Which *production* database would you like to use? PostgreSQL ? (8/16) Which *development* database would you like to use? PostgreSQL ? (9/16) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? Search engine using ElasticSearch ? (12/13) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (13/13) Would you like to enable internationalization support? Yes ? Please choose the native language of the application? English ? Please choose additional languages to install Catalan, Swedish ? (14/13) Which testing frameworks would you like to use? (Press <space> to select)Gatling Installing languages: en, ca, sv $ yo jhipster
  • 54. create bower.json create package.json create README.md create .gitignore create .gitattributes create .editorconfig create .travis.yml create src/main/docker/Dockerfile create src/main/docker/cassandra/scripts/autoMigrate.sh create src/main/docker/cassandra/scripts/execute-cql.sh create src/main/docker/central-server-config/application.yml create src/main/docker/jhipster-registry.yml create src/main/docker/sonar.yml create mvnw create mvnw.cmd create .mvn/wrapper/maven-wrapper.jar create .mvn/wrapper/maven-wrapper.properties create pom.xml create src/main/resources/banner.txt create src/main/resources/templates/error.html create src/main/resources/logback-spring.xml create src/main/resources/config/application.yml create src/main/resources/config/application-dev.yml create src/main/resources/config/application-prod.yml create src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml create src/main/resources/config/liquibase/master.xml create src/main/resources/config/cql/create-keyspace-prod.cql create src/main/resources/config/cql/create-keyspace.cql create src/main/resources/config/cql/drop-keyspace.cql create src/main/resources/config/cql/changelog/README.md create src/main/resources/i18n/messages.properties create src/main/java/com/example/security/SpringSecurityAuditorAware.java create src/main/java/com/example/security/SecurityUtils.java create src/main/java/com/example/security/AuthoritiesConstants.java create src/main/java/com/example/security/jwt/TokenProvider.java create src/main/java/com/example/security/jwt/JWTConfigurer.java
  • 55. create src/main/java/com/example/security/jwt/JWTFilter.java create src/main/java/com/example/config/SecurityConfiguration.java create src/main/java/com/example/security/Http401UnauthorizedEntryPoint.java create src/main/java/com/example/security/UserDetailsService.java create src/main/java/com/example/security/UserNotActivatedException.java create src/main/java/com/example/web/rest/UserJWTController.java create src/main/java/com/example/web/rest/JWTToken.java create src/main/java/com/example/security/package-info.java create src/main/java/com/example/config/GatewayConfiguration.java create src/main/java/com/example/config/apidoc/GatewaySwaggerResourcesProvider.java create src/main/java/com/example/gateway/ratelimiting/RateLimitingFilter.java create src/main/java/com/example/gateway/TokenRelayFilter.java create src/main/java/com/example/gateway/ratelimiting/RateLimitingRepository.java create src/main/java/com/example/gateway/accesscontrol/AccessControlFilter.java create src/main/java/com/example/gateway/responserewriting/SwaggerBasePathRewriting… create src/main/java/com/example/web/rest/dto/RouteDTO.java create src/main/java/com/example/web/rest/GatewayResource.java create src/main/resources/config/bootstrap-dev.yml create src/main/resources/config/bootstrap-prod.yml create src/main/java/com/example/config/metrics/SpectatorLogMetricWriter.java create src/main/java/com/example/JavaOneDemoApp.java create src/main/java/com/example/ApplicationWebXml.java create src/main/java/com/example/aop/logging/LoggingAspect.java create src/main/java/com/example/web/rest/dto/LoginDTO.java create src/main/java/com/example/config/DefaultProfileUtil.java create src/main/java/com/example/config/apidoc/package-info.java create src/main/java/com/example/config/apidoc/SwaggerConfiguration.java create src/main/java/com/example/config/apidoc/PageableParameterBuilderPlugin.java create src/main/java/com/example/async/package-info.java create src/main/java/com/example/async/ExceptionHandlingAsyncTaskExecutor.java create src/main/java/com/example/config/package-info.java create src/main/java/com/example/config/AsyncConfiguration.java create src/main/java/com/example/config/CacheConfiguration.java create src/main/java/com/example/config/Constants.java create src/main/java/com/example/config/LoggingConfiguration.java create src/main/java/com/example/config/CloudDatabaseConfiguration.java
  • 56. create src/main/java/com/example/config/CloudDatabaseConfiguration.java create src/main/java/com/example/config/DatabaseConfiguration.java create src/main/java/com/example/config/audit/package-info.java create src/main/java/com/example/config/audit/AuditEventConverter.java create src/main/java/com/example/config/JacksonConfiguration.java create src/main/java/com/example/config/JHipsterProperties.java create src/main/java/com/example/config/LocaleConfiguration.java create src/main/java/com/example/config/LoggingAspectConfiguration.java create src/main/java/com/example/config/MetricsConfiguration.java create src/main/java/com/example/config/ThymeleafConfiguration.java create src/main/java/com/example/config/WebConfigurer.java create src/main/java/com/example/config/locale/package-info.java create src/main/java/com/example/config/locale/AngularCookieLocaleResolver.java create src/main/java/com/example/config/cassandra/CassandraConfiguration.java create src/main/java/com/example/config/cassandra/CustomZonedDateTimeCodec.java create src/main/java/com/example/config/cassandra/package-info.java create src/main/java/com/example/config/liquibase/AsyncSpringLiquibase.java create src/main/java/com/example/config/liquibase/package-info.java create src/main/java/com/example/domain/package-info.java create src/main/java/com/example/domain/util/JSR310DateConverters.java create src/main/java/com/example/domain/util/JSR310PersistenceConverters.java create src/main/java/com/example/domain/util/FixedH2Dialect.java create src/main/java/com/example/domain/util/FixedPostgreSQL82Dialect.java create src/main/java/com/example/domain/AbstractAuditingEntity.java create src/main/java/com/example/domain/PersistentAuditEvent.java create src/main/java/com/example/repository/package-info.java create src/main/java/com/example/service/package-info.java create src/main/java/com/example/service/util/RandomUtil.java create src/main/java/com/example/web/rest/errors/ErrorConstants.java create src/main/java/com/example/web/rest/errors/CustomParameterizedException.java create src/main/java/com/example/web/rest/errors/ErrorDTO.java create src/main/java/com/example/web/rest/errors/ExceptionTranslator.java create src/main/java/com/example/web/rest/errors/FieldErrorDTO.java create src/main/java/com/example/web/rest/errors/ParameterizedErrorDTO.java create src/main/java/com/example/web/filter/package-info.java create src/main/java/com/example/web/filter/CachingHttpHeadersFilter.java
  • 57. create src/main/java/com/example/web/rest/dto/package-info.java create src/main/java/com/example/web/rest/dto/LoggerDTO.java create src/main/java/com/example/web/rest/util/HeaderUtil.java create src/main/java/com/example/web/rest/util/PaginationUtil.java create src/main/java/com/example/web/rest/package-info.java create src/main/java/com/example/web/rest/LogsResource.java create src/main/java/com/example/web/rest/ProfileInfoResource.java create src/test/java/com/example/web/rest/TestUtil.java create src/test/resources/config/application.yml create src/main/webapp/app/services/auth/register.service.js create src/main/webapp/app/services/user/user.service.js create src/main/webapp/app/services/profiles/profile.service.js create src/main/webapp/app/services/profiles/page-ribbon.directive.js create src/main/webapp/content/images/hipster.png create src/main/webapp/content/images/hipster2x.png create src/main/webapp/content/images/logo-jhipster.png create src/test/javascript/karma.conf.js create src/test/javascript/spec/helpers/module.js create src/test/javascript/spec/helpers/httpBackend.js create src/test/javascript/spec/app/admin/health/health.controller.spec.js create src/test/javascript/spec/app/account/password/password.controller.spec.js create src/test/javascript/spec/app/account/password/password-strength-bar.directive… create src/test/javascript/spec/app/account/settings/settings.controller.spec.js create src/test/javascript/spec/app/account/activate/activate.controller.spec.js create src/test/javascript/spec/app/account/register/register.controller.spec.js create src/test/javascript/spec/app/account/reset/finish/reset.finish.controller.spec.js create src/test/javascript/spec/app/account/reset/request/reset.request.controller.spec.js create src/test/javascript/spec/app/services/auth/auth.services.spec.js create src/test/javascript/spec/app/components/login/login.controller.spec.js create src/main/webapp/i18n/en/activate.json create src/main/webapp/i18n/en/audits.json create src/main/webapp/i18n/en/configuration.json create src/main/webapp/i18n/ca/login.json create src/main/webapp/i18n/ca/logs.json create src/main/webapp/i18n/ca/home.json create src/main/webapp/i18n/ca/metrics.json
  • 58. create src/main/webapp/app/components/language/language.service.js create src/main/webapp/app/components/login/login.html create src/main/webapp/app/components/login/login.service.js create src/main/webapp/app/components/login/login.controller.js create src/main/webapp/app/components/util/base64.service.js create src/main/webapp/app/components/util/capitalize.filter.js create src/main/webapp/app/components/util/parse-links.service.js create src/main/webapp/app/components/util/truncate-characters.filter.js create src/main/webapp/app/components/util/truncate-words.filter.js create src/main/webapp/app/components/util/date-util.service.js create src/main/webapp/app/components/util/data-util.service.js create src/main/webapp/app/components/util/pagination-util.service.js create src/main/webapp/app/components/util/sort.directive.js create src/main/webapp/app/components/util/sort-by.directive.js create src/main/webapp/app/components/util/jhi-item-count.directive.js create src/main/webapp/app/blocks/interceptor/auth.interceptor.js create src/main/webapp/app/blocks/interceptor/auth-expired.interceptor.js create src/main/webapp/app/blocks/interceptor/errorhandler.interceptor.js create src/main/webapp/app/blocks/interceptor/notification.interceptor.js create src/main/webapp/app/components/alert/alert.service.js create src/main/webapp/app/components/alert/alert.directive.js create src/main/webapp/app/components/alert/alert-error.directive.js create src/main/webapp/app/entities/entity.state.js create src/main/webapp/app/home/home.html create src/main/webapp/app/home/home.state.js create src/main/webapp/app/home/home.controller.js create src/main/webapp/app/layouts/navbar/active-link.directive.js create src/main/webapp/app/layouts/navbar/active-menu.directive.js create src/main/webapp/app/layouts/navbar/navbar.html create src/main/webapp/app/layouts/navbar/navbar.controller.js create src/main/webapp/app/layouts/error/error.html create src/main/webapp/app/layouts/error/accessdenied.html create src/main/webapp/app/layouts/error/error.state.js create src/main/webapp/app/services/auth/auth.service.js create src/main/webapp/app/services/auth/principal.service.js create src/main/webapp/app/services/auth/has-authority.directive.js
  • 59. create src/main/java/com/example/security/jwt/JWTFilter.java create src/main/java/com/example/config/SecurityConfiguration.java create src/main/java/com/example/security/Http401UnauthorizedEntryPoint.java create src/main/java/com/example/security/UserDetailsService.java create src/main/java/com/example/security/UserNotActivatedException.java create src/main/java/com/example/web/rest/UserJWTController.java create src/main/java/com/example/web/rest/JWTToken.java create src/main/java/com/example/security/package-info.java create src/main/java/com/example/config/GatewayConfiguration.java create src/main/java/com/example/config/apidoc/GatewaySwaggerResourcesProvider.java create src/main/java/com/example/gateway/ratelimiting/RateLimitingFilter.java create src/main/java/com/example/gateway/TokenRelayFilter.java create src/main/java/com/example/gateway/ratelimiting/RateLimitingRepository.java create src/main/java/com/example/gateway/accesscontrol/AccessControlFilter.java create src/main/java/com/example/gateway/responserewriting/SwaggerBasePathRewriting… create src/main/java/com/example/web/rest/dto/RouteDTO.java create src/main/java/com/example/web/rest/GatewayResource.java create src/main/resources/config/bootstrap-dev.yml create src/main/resources/config/bootstrap-prod.yml create src/main/java/com/example/config/metrics/SpectatorLogMetricWriter.java create src/main/java/com/example/JavaOneDemoApp.java create src/main/java/com/example/ApplicationWebXml.java create src/main/java/com/example/aop/logging/LoggingAspect.java create src/main/java/com/example/web/rest/dto/LoginDTO.java create src/main/java/com/example/config/DefaultProfileUtil.java create src/main/java/com/example/config/apidoc/package-info.java create src/main/java/com/example/config/apidoc/SwaggerConfiguration.java create src/main/java/com/example/config/apidoc/PageableParameterBuilderPlugin.java create src/main/java/com/example/async/package-info.java create src/main/java/com/example/async/ExceptionHandlingAsyncTaskExecutor.java create src/main/java/com/example/config/package-info.java create src/main/java/com/example/config/AsyncConfiguration.java create src/main/java/com/example/config/CacheConfiguration.java create src/main/java/com/example/config/Constants.java create src/main/java/com/example/config/LoggingConfiguration.java create src/main/java/com/example/config/CloudDatabaseConfiguration.java
  • 60. create src/main/java/com/example/config/CloudDatabaseConfiguration.java create src/main/java/com/example/config/DatabaseConfiguration.java create src/main/java/com/example/config/audit/package-info.java create src/main/java/com/example/config/audit/AuditEventConverter.java create src/main/java/com/example/config/JacksonConfiguration.java create src/main/java/com/example/config/JHipsterProperties.java create src/main/java/com/example/config/LocaleConfiguration.java create src/main/java/com/example/config/LoggingAspectConfiguration.java create src/main/java/com/example/config/MetricsConfiguration.java create src/main/java/com/example/config/ThymeleafConfiguration.java create src/main/java/com/example/config/WebConfigurer.java create src/main/java/com/example/config/locale/package-info.java create src/main/java/com/example/config/locale/AngularCookieLocaleResolver.java create src/main/java/com/example/config/cassandra/CassandraConfiguration.java create src/main/java/com/example/config/cassandra/CustomZonedDateTimeCodec.java create src/main/java/com/example/config/cassandra/package-info.java create src/main/java/com/example/config/liquibase/AsyncSpringLiquibase.java create src/main/java/com/example/config/liquibase/package-info.java create src/main/java/com/example/domain/package-info.java create src/main/java/com/example/domain/util/JSR310DateConverters.java create src/main/java/com/example/domain/util/JSR310PersistenceConverters.java create src/main/java/com/example/domain/util/FixedH2Dialect.java create src/main/java/com/example/domain/util/FixedPostgreSQL82Dialect.java create src/main/java/com/example/domain/AbstractAuditingEntity.java create src/main/java/com/example/domain/PersistentAuditEvent.java create src/main/java/com/example/repository/package-info.java create src/main/java/com/example/service/package-info.java create src/main/java/com/example/service/util/RandomUtil.java create src/main/java/com/example/web/rest/errors/ErrorConstants.java create src/main/java/com/example/web/rest/errors/CustomParameterizedException.java create src/main/java/com/example/web/rest/errors/ErrorDTO.java create src/main/java/com/example/web/rest/errors/ExceptionTranslator.java create src/main/java/com/example/web/rest/errors/FieldErrorDTO.java create src/main/java/com/example/web/rest/errors/ParameterizedErrorDTO.java create src/main/java/com/example/web/filter/package-info.java create src/main/java/com/example/web/filter/CachingHttpHeadersFilter.java
  • 61. create src/main/webapp/i18n/ca/password.json create src/main/webapp/i18n/ca/register.json create src/main/webapp/i18n/ca/sessions.json create src/main/webapp/i18n/ca/settings.json create src/main/webapp/i18n/ca/reset.json create src/main/webapp/i18n/ca/user-management.json create src/main/webapp/i18n/ca/global.json create src/main/webapp/i18n/ca/health.json create src/main/resources/i18n/messages_ca.properties I'm all done. Running npm install & bower install for you to install the required dependencies. If this fails, try running the command yourself.
  • 62. create src/main/webapp/i18n/ca/password.json create src/main/webapp/i18n/ca/register.json create src/main/webapp/i18n/ca/sessions.json create src/main/webapp/i18n/ca/settings.json create src/main/webapp/i18n/ca/reset.json create src/main/webapp/i18n/ca/user-management.json create src/main/webapp/i18n/ca/global.json create src/main/webapp/i18n/ca/health.json create src/main/resources/i18n/messages_ca.properties I'm all done. Running npm install & bower install for you to install the required dependencies. If this fails, try running the command yourself. ⸨ ░░░░░░░░░░░░░░░⸩ ⠦ cloneCurrentTree: sill cloneCurrentTree Finish usually the worst part of my day
  • 63. create src/main/webapp/i18n/ca/password.json create src/main/webapp/i18n/ca/register.json create src/main/webapp/i18n/ca/sessions.json create src/main/webapp/i18n/ca/settings.json create src/main/webapp/i18n/ca/reset.json create src/main/webapp/i18n/ca/user-management.json create src/main/webapp/i18n/ca/global.json create src/main/webapp/i18n/ca/health.json create src/main/resources/i18n/messages_ca.properties I'm all done. Running npm install & bower install for you to install the required dependencies. If this fails, try running the command yourself. Server app generated successfully. Client app generated successfully. [09:10:45] Using gulpfile ~/workspace/gateway/gulpfile.js [09:10:45] Starting 'install'... ... [09:10:45] gulp-inject 1 files into index.html. [09:10:45] Finished 'inject:troubleshoot' after 4.89 ms
  • 66. - browser code, assets - proxy microservices - client-side load balancing - fault tolerance - service registry - service metadata - service health - phonebook for microservices - RESTful services - JPA Entities - Business logic +
  • 69. ./mvnw package docker:build$ ... [INFO] --- docker-maven-plugin:0.4.10:build (default-cli) @ java-one-demo — ... Removing intermediate container 391b5792ee80 Successfully built daa78f2d9534 [INFO] Built javaonedemo [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:13 min [INFO] Finished at: 2016-08-08T08:02:30-05:00 [INFO] Final Memory: 76M/592M [INFO] ------------------------------------------------------------------------
  • 70. docker-compose -f src/main/docker/app.yml up$ Creating jhipster-registry Creating docker_javaonedemo-app_1 Creating javaonedemo-postgresql Attaching to jhipster-registry, docker_javaonedemo-app_1, javaonedemo-postgresql javaonedemo-app_1 | The application will start in 30s... javaonedemo-postgresql | ... javaonedemo-postgresql | selecting default max_connections ... 100 javaonedemo-postgresql | selecting default shared_buffers ... 128MB javaonedemo-postgresql | selecting dynamic shared memory implementation ... posix jhipster-registry | 13:07:54.871 [main] DEBUG org.springframework.beans.factory... jhipster-registry | ... javaonedemo-app_1 | ... javaonedemo-app_1 | ---------------------------------------------------------- javaonedemo-app_1 | Application 'JavaOneDemo' is running! Access URLs: javaonedemo-app_1 | Local: http://127.0.0.1:8080 javaonedemo-app_1 | External: http://172.22.0.3:8080 javaonedemo-app_1 | ---------------------------------------------------------- javaonedemo-app_1 | ... javaonedemo-app_1 | ---------------------------------------------------------- javaonedemo-app_1 | Config Server: Connected to the JHipster Registry ... javaonedemo-app_1 | ----------------------------------------------------------
  • 81. Think about all the things you didn’t have to do!
  • 84. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? (Use arrow keys) ❯ Monolithic application (recommended for simple projects) Microservice application Microservice gateway [BETA] JHipster UAA server (for microservice OAuth2 authentication) $ yo jhipster
  • 85. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? (Use arrow keys) Monolithic application (recommended for simple projects) ❯ Microservice application Microservice gateway [BETA] JHipster UAA server (for microservice OAuth2 authentication) $ yo jhipster
  • 86. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? (jhipster) $ yo jhipster BookService
  • 87. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port would like your server to run? It should be unique to avoid port conflicts. (8081) $ yo jhipster
  • 88. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? (com.example) $ yo jhipster
  • 89. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? (Use arrow keys) ❯ JWT authentication (stateless, with a token) [BETA] Authentication with JHipster UAA server (the server must be generated separately) $ yo jhipster
  • 90. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? (Use arrow keys) No database ❯ SQL (H2, MySQL, PostgreSQL, Oracle) MongoDB Cassandra $ yo jhipster
  • 91. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ... ? (7/13) Which *production* database would you like to use? MySQL ❯ MariaDB PostgreSQL Oracle - Warning! The Oracle JDBC driver (ojdbc) $ yo jhipster
  • 92. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ... ? (7/13) Which *production* database would you like to use? MySQL MariaDB ❯ PostgreSQL Oracle - Warning! The Oracle JDBC driver (ojdbc) $ yo jhipster
  • 93. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? ❯ H2 with disk-based persistence H2 with in-memory persistence PostgreSQL $ yo jhipster
  • 94. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? H2 with disk-based persistence H2 with in-memory persistence ❯ PostgreSQL $ yo jhipster
  • 95. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? (Use arrow keys) No Yes, with ehcache (local cache, for a single node) ❯ Yes, with HazelCast (distributed cache, for multiple nodes) $ yo jhipster
  • 96. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? (Use arrow keys) ❯ No Yes, with ehcache (local cache, for a single node) Yes, with HazelCast (distributed cache, for multiple nodes) $ yo jhipster
  • 97. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? (Use arrow keys) ❯ Maven Gradle $ yo jhipster
  • 98. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? (Press <space> to select) ❯◯ Search engine using ElasticSearch $ yo jhipster
  • 99. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? (Press <space> to select) ? (12/13) Would you like to enable internationalization support? (Y/n) $ yo jhipster
  • 100. ██ ██ ██ ████████ ███████ ██████ ████████ ████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████████ ██ ███████ █████ ██ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ████████ ██ ██████ ██ ████████ ██ ██ http://jhipster.github.io Welcome to the JHipster Generator v3.7.0 Application files will be generated in folder: /Users/jkutner/workspace/book-service ? (1/13) Which *type* of application would you like to create? Microservice application ? (2/13) What is the base name of your application? BookService ? (3/13) As you are running in a microservice architecture, on which port... 8081 ? (4/13) What is your default Java package name? com.example ? (5/13) Which *type* of authentication would you like to use? JWT authentication ... ? (6/13) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, ... ? (7/13) Which *production* database would you like to use? PostgreSQL ? (8/13) Which *development* database would you like to use? PostgreSQL ? (9/13) Do you want to use Hibernate 2nd level cache? No ? (10/13) Would you like to use Maven or Gradle for building the backend? Maven ? (11/13) Which other technologies would you like to use? (Press <space> to select) ? (12/13) Would you like to enable internationalization support? No ? (13/13) Which testing frameworks would you like to use? (Press <space> to select) ❯◉ Gatling ◯ Cucumber $ yo jhipster
  • 101. create README.md create .gitignore create .gitattributes create .editorconfig create .travis.yml create Jenkinsfile create src/main/docker/Dockerfile create src/main/docker/app.yml create src/main/docker/central-server-config/application.yml create src/main/docker/jhipster-registry.yml create src/main/docker/sonar.yml create mvnw create mvnw.cmd create .mvn/wrapper/maven-wrapper.jar create .mvn/wrapper/maven-wrapper.properties create pom.xml create src/main/resources/banner.txt create src/main/resources/templates/error.html create src/main/resources/logback-spring.xml create src/main/resources/config/application.yml create src/main/resources/config/application-dev.yml create src/main/resources/config/application-prod.yml create src/main/resources/i18n/messages.properties create src/main/java/com/example/security/SecurityUtils.java create src/main/java/com/example/security/AuthoritiesConstants.java create src/main/java/com/example/security/jwt/TokenProvider.java create src/main/java/com/example/security/jwt/JWTConfigurer.java create src/main/java/com/example/security/jwt/JWTFilter.java create src/main/java/com/example/config/MicroserviceSecurityConfiguration.java create src/main/resources/config/bootstrap-dev.yml create src/main/resources/config/bootstrap-prod.yml create src/main/java/com/example/config/metrics/SpectatorLogMetricWriter.java create src/main/java/com/example/Application.java create src/main/java/com/example/ApplicationWebXml.java create src/main/java/com/example/aop/logging/LoggingAspect.java create src/main/java/com/example/config/DefaultProfileUtil.java
  • 102. create src/main/java/com/example/config/apidoc/package-info.java create src/main/java/com/example/config/apidoc/SwaggerConfiguration.java create src/main/java/com/example/config/apidoc/PageableParameterBuilderPlugin.java create src/main/java/com/example/async/package-info.java create src/main/java/com/example/async/ExceptionHandlingAsyncTaskExecutor.java create src/main/java/com/example/config/package-info.java create src/main/java/com/example/config/AsyncConfiguration.java create src/main/java/com/example/config/CacheConfiguration.java create src/main/java/com/example/config/Constants.java create src/main/java/com/example/config/LoggingConfiguration.java create src/main/java/com/example/config/JacksonConfiguration.java create src/main/java/com/example/config/JHipsterProperties.java create src/main/java/com/example/config/LocaleConfiguration.java create src/main/java/com/example/config/LoggingAspectConfiguration.java create src/main/java/com/example/config/MetricsConfiguration.java create src/main/java/com/example/config/ThymeleafConfiguration.java create src/main/java/com/example/config/WebConfigurer.java create src/main/java/com/example/config/locale/package-info.java create src/main/java/com/example/config/locale/AngularCookieLocaleResolver.java create src/main/java/com/example/domain/package-info.java create src/main/java/com/example/domain/util/JSR310DateConverters.java create src/main/java/com/example/repository/package-info.java create src/main/java/com/example/service/package-info.java create src/main/java/com/example/web/rest/errors/ErrorConstants.java create src/main/java/com/example/web/rest/errors/CustomParameterizedException.java create src/main/java/com/example/web/rest/errors/ErrorVM.java create src/main/java/com/example/web/rest/errors/ExceptionTranslator.java create src/main/java/com/example/web/rest/errors/FieldErrorVM.java create src/main/java/com/example/web/rest/errors/ParameterizedErrorVM.java create src/main/java/com/example/web/filter/package-info.java create src/main/java/com/example/web/filter/CachingHttpHeadersFilter.java create src/main/java/com/example/web/rest/vm/package-info.java create src/main/java/com/example/web/rest/vm/LoggerVM.java create src/main/java/com/example/web/rest/util/HeaderUtil.java create src/main/java/com/example/web/rest/util/PaginationUtil.java create src/main/java/com/example/web/rest/package-info.java
  • 103. create src/main/java/com/example/web/rest/LogsResource.java create src/main/java/com/example/web/rest/ProfileInfoResource.java create src/test/java/com/example/web/rest/TestUtil.java create src/test/resources/config/application.yml create src/test/resources/logback-test.xml create src/test/gatling/conf/gatling.conf Server app generated successfully. [INFO] Scanning for projects... ... Removing intermediate container ebaad5314c62 Successfully built 62e562845b4d [INFO] Built bookservice[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1:00.217s [INFO] Finished at: Thu Jul 28 20:18:02 CDT 2016 [INFO] Final Memory: 72M/515M [INFO] ------------------------------------------------------------------------ ./mvnw package docker:build$
  • 104. Gateway BookService We only want one guy spinning plates
  • 106. yo jhipster:docker-compose$ Welcome to the JHipster Docker Compose Sub-Generator Files will be generated in folder: /Users/jkutner/workspace/docker-compose ? Enter the root directory where your gateway(s) and microservices are located (../)
  • 107. yo jhipster:docker-compose$ Welcome to the JHipster Docker Compose Sub-Generator Files will be generated in folder: /Users/jkutner/workspace/ ? Enter the root directory where your gateway(s) and microservices are located ../ 2 applications found at /Users/jkutner/workspace/ ? Which applications do you want to include in your Docker Compose configuration? ... ❯◯ book-service ◯ gateway
  • 108. yo jhipster:docker-compose$ Welcome to the JHipster Docker Compose Sub-Generator Files will be generated in folder: /Users/jkutner/workspace/ ? Enter the root directory where your gateway(s) and microservices are located ../ 2 applications found at /Users/jkutner/workspace/ ? Which applications do you want to include in your Docker Compose configuration? ❯◉ book-service ◯ gateway
  • 109. yo jhipster:docker-compose$ Welcome to the JHipster Docker Compose Sub-Generator Files will be generated in folder: /Users/jkutner/workspace/ ? Enter the root directory where your gateway(s) and microservices are located ../ 2 applications found at /Users/jkutner/workspace/ ? Which applications do you want to include in your Docker Compose configuration? ◉ book-service ❯◯ gateway
  • 110. yo jhipster:docker-compose$ Welcome to the JHipster Docker Compose Sub-Generator Files will be generated in folder: /Users/jkutner/workspace/ ? Enter the root directory where your gateway(s) and microservices are located ../ 2 applications found at /Users/jkutner/workspace/ ? Which applications do you want to include in your Docker Compose configuration? ◉ book-service ❯◉ gateway
  • 111. yo jhipster:docker-compose$ Welcome to the JHipster Docker Compose Sub-Generator Files will be generated in folder: /Users/jkutner/workspace/ ? Enter the root directory where your gateway(s) and microservices are located ../ 2 applications found at /Users/jkutner/workspace/ ? Which applications do you want to include in your Docker Compose configuration? ? Do you want the JHipster Console (based on ELK) to monitor your applications? (Y/n)
  • 112. yo jhipster:docker-compose$ Welcome to the JHipster Docker Compose Sub-Generator Files will be generated in folder: /Users/jkutner/workspace/docker-compose ? Enter the root directory where your gateway(s) and microservices are located ../ 2 applications found at /Users/jkutner/workspace/ ? Which applications do you want to include in your Docker Compose configuration? ? Do you want the JHipster Console (based on ELK) to monitor your applications? No ? Enter the admin password used to secure the JHipster Registry (admin)
  • 113. yo jhipster:docker-compose$ Welcome to the JHipster Docker Compose Sub-Generator Files will be generated in folder: /Users/jkutner/workspace/docker-compose ? Enter the root directory where your gateway(s) and microservices are located ../ 2 applications found at /Users/jkutner/workspace/ ? Which applications do you want to include in your Docker Compose configuration? ? Do you want the JHipster Console (based on ELK) to monitor your applications? No ? Enter the admin password used to secure the JHipster Registry admin Checking Docker images in applications' directories... create docker-compose.yml create jhipster-registry.yml create central-server-config/application.yml Docker Compose configuration successfully generated! You can launch all your infrastructure by running : docker-compose up -d $
  • 114. yo jhipster:docker-compose$ Welcome to the JHipster Docker Compose Sub-Generator Files will be generated in folder: /Users/jkutner/workspace/docker-compose ? Enter the root directory where your gateway(s) and microservices are located ../ 2 applications found at /Users/jkutner/workspace/ ? Which applications do you want to include in your Docker Compose configuration? ? Do you want the JHipster Console (based on ELK) to monitor your applications? No ? Enter the admin password used to secure the JHipster Registry admin Checking Docker images in applications' directories... create docker-compose.yml create jhipster-registry.yml create central-server-config/application.yml Docker Compose configuration successfully generated! You can launch all your infrastructure by running : docker-compose up -d $ docker-compose up -d Creating jhipster-registry Creating dockercompose_javaonedemo-app_1 Creating dockercompose_bookservice-app_1 Creating javaonedemo-postgresql Creating bookservice-postgresql
  • 119. Book - id: Long - isbn: String
  • 120. yo jhipster:entity book$ The entity book is being created. Generating field #1 ? Do you want to add a field to your entity? (Y/n) cd ../book-service$
  • 121. yo jhipster:entity book$ The entity book is being created. Generating field #1 ? Do you want to add a field to your entity? Yes ? What is the name of your field? cd ../book-service$ isbn
  • 122. yo jhipster:entity book$ The entity book is being created. Generating field #1 ? Do you want to add a field to your entity? Yes ? What is the name of your field? isbn ? What is the type of your field? (Use arrow keys) ❯ String Integer Long Float Double BigDecimal LocalDate (Move up and down to reveal more choices) cd ../book-service$
  • 123. yo jhipster:entity book$ The entity book is being created. Generating field #1 ? Do you want to add a field to your entity? Yes ? What is the name of your field? isbn ? What is the type of your field? String ? Do you want to add validation rules to your field? (y/N) cd ../book-service$
  • 124. yo jhipster:entity book$ The entity book is being created. Generating field #1 ? Do you want to add a field to your entity? Yes ? What is the name of your field? isbn ? What is the type of your field? String ? Do you want to add validation rules to your field? No ================= Book ================= Fields isbn (String) Generating field #2 ? Do you want to add a field to your entity? (Y/n) cd ../book-service$
  • 125. The entity book is being created. Generating field #1 ? Do you want to add a field to your entity? Yes ? What is the name of your field? isbn ? What is the type of your field? String ? Do you want to add validation rules to your field? No ================= Book ================= Fields isbn (String) Generating field #2 ? Do you want to add a field to your entity? No ================= Book ================= Fields isbn (String) Generating relationships to other entities ? Do you want to add a relationship to another entity? (Y/n) yo jhipster:entity book$ cd ../book-service$
  • 126. Generating field #1 ? Do you want to add a field to your entity? Yes ? What is the name of your field? isbn ? What is the type of your field? String ? Do you want to add validation rules to your field? No ================= Book ================= Fields isbn (String) Generating field #2 ? Do you want to add a field to your entity? No ================= Book ================= Fields isbn (String) Generating relationships to other entities ? Do you want to add a relationship to another entity? No ================= Book ================= Fields isbn (String) ? Do you want to use a Data Transfer Object (DTO)? (Use arrow keys) ❯ No, use the entity directly [BETA] Yes, generate a DTO with MapStruct
  • 127. ? Do you want to add a field to your entity? Yes ? What is the name of your field? isbn ? What is the type of your field? String ? Do you want to add validation rules to your field? No ================= Book ================= Fields isbn (String) Generating field #2 ? Do you want to add a field to your entity? No ================= Book ================= Fields isbn (String) Generating relationships to other entities ? Do you want to add a relationship to another entity? No ================= Book ================= Fields isbn (String) ? Do you want to use a Data Transfer Object (DTO)? No, use the entity directly ? Do you want to use separate service class for your business logic? (Use arrow keys) ❯ No, the REST controller should use the repository directly Yes, generate a separate service class Yes, generate a separate service interface and implementation
  • 128. ? What is the name of your field? isbn ? What is the type of your field? String ? Do you want to add validation rules to your field? No ================= Book ================= Fields isbn (String) Generating field #2 ? Do you want to add a field to your entity? No ================= Book ================= Fields isbn (String) Generating relationships to other entities ? Do you want to add a relationship to another entity? No ================= Book ================= Fields isbn (String) ? Do you want to use a Data Transfer Object (DTO)? No, use the entity directly ? Do you want to use separate service class for your business logic? No, the REST control... ? Do you want pagination on your entity? (Use arrow keys) ❯ No Yes, with a simple pager Yes, with pagination links Yes, with infinite scroll
  • 129. Generating field #2 ? Do you want to add a field to your entity? No ================= Book ================= Fields isbn (String) Generating relationships to other entities ? Do you want to add a relationship to another entity? No ================= Book ================= Fields isbn (String) ? Do you want to use a Data Transfer Object (DTO)? No, use the entity directly ? Do you want to use separate service class for your business logic? No, the REST control... ? Do you want pagination on your entity? No Everything is configured, generating the entity... create .jhipster/Book.json create src/main/java/com/example/domain/Book.java create src/main/java/com/example/repository/BookRepository.java create src/main/java/com/example/web/rest/BookResource.java create src/main/resources/config/liquibase/changelog/20160808183153_added_entity_Book.xml conflict src/main/resources/config/liquibase/master.xml ? Overwrite src/main/resources/config/liquibase/master.xml? overwrite force src/main/resources/config/liquibase/master.xml create src/test/java/com/example/web/rest/BookResourceIntTest.java create src/test/gatling/simulations/BookGatlingTest.scala
  • 131. yo jhipster:entity book$ The entity book is being created. ? Do you want to generate this entity from an existing microservice? (Y/n) cd ../gateway$
  • 132. yo jhipster:entity book$ The entity book is being created. ? Do you want to generate this entity from an existing microservice? Yes ? Enter the path to the microservice root directory: (../book-service/) cd ../gateway$
  • 133. yo jhipster:entity book$ The entity book is being created. ? Do you want to generate this entity from an existing microservice? Yes ? Enter the path to the microservice root directory: ../book-service Found the .jhipster/Book.json configuration file, entity can be automatically generated! ? Do you want to update the entity? This will replace the existing files for this entity, all your custom code will be overwritten (Use arrow keys) ❯ Yes, re generate the entity [BETA] Yes, add more fields and relationships [BETA] Yes, remove fields and relationships No, exit cd ../gateway$
  • 134. ? Overwrite src/main/webapp/i18n/ca/global.json? overwrite force src/main/webapp/i18n/ca/global.json create src/test/javascript/spec/app/entities/book/book-detail.controller.spec.js Running gulp Inject to add javascript to index [14:04:34] Using gulpfile ~/workspace/heroku/kissaten/tmp/gateway/gulpfile.js [14:04:34] Starting 'inject:app'... [14:04:34] gulp-inject 109 files into index.html. [14:04:34] Finished 'inject:app' after 311 ms Found the .jhipster/Book.json configuration file, entity can be automatically generated! ? Do you want to update the entity? This will replace the existing files for this entity, all your custom code will be overwritten Yes, re generate the entity create .jhipster/Book.json create src/main/webapp/app/entities/book/books.html create src/main/webapp/app/entities/book/book-detail.html create src/main/webapp/app/entities/book/book-dialog.html create src/main/webapp/app/entities/book/book-delete-dialog.html conflict src/main/webapp/app/layouts/navbar/navbar.html ? Overwrite src/main/webapp/app/layouts/navbar/navbar.html? overwrite force src/main/webapp/app/layouts/navbar/navbar.html create src/main/webapp/app/entities/book/book.state.js create src/main/webapp/app/entities/book/book.controller.js create src/main/webapp/app/entities/book/book-dialog.controller.js create src/main/webapp/app/entities/book/book-delete-dialog.controller.js create src/main/webapp/app/entities/book/book-detail.controller.js create src/main/webapp/app/entities/book/book.service.js create src/main/webapp/i18n/en/book.json conflict src/main/webapp/i18n/en/global.json ? Overwrite src/main/webapp/i18n/en/global.json? overwrite force src/main/webapp/i18n/en/global.json create src/main/webapp/i18n/ca/book.json conflict src/main/webapp/i18n/ca/global.json
  • 136. ./mvnw package docker:build$ cd ../book-service$ ./mvnw package docker:build$ cd ../docker-compose$ docker-compose restart -d$ Restarting bookservice-postgresql ... Restarting javaonedemo-postgresql ... Restarting dockercompose_bookservice-app_1 ... Restarting dockercompose_javaonedemo-app_1 ... Restarting jhipster-registry ...
  • 142. Think about all the code you didn’t have to write!
  • 144. 1. Deploy the Registry 2. Deploy the Microservice 3. Deploy the Gateway
  • 147. Demo
  • 148. yo jhipster:heroku$ Heroku configuration is starting ? Name to deploy as: (BookService) cd ../book-service$
  • 149. yo jhipster:heroku$ Heroku configuration is starting ? Name to deploy as: BookService ? On which region do you want to deploy ? (Use arrow keys) ❯ us eu cd ../book-service$
  • 150. yo jhipster:heroku$ Heroku configuration is starting ? Name to deploy as: BookService ? On which region do you want to deploy ? us Initializing Git repository Initialized empty Git repository in /Users/jkutner/workspace/book-service/.git/ Installing Heroku CLI deployment plugin cd ../book-service$
  • 151. yo jhipster:heroku$ Heroku configuration is starting ? Name to deploy as: BookService ? On which region do you want to deploy ? us Initializing Git repository Initialized empty Git repository in /Users/jkutner/workspace/book-service/.git/ Installing Heroku CLI deployment plugin Creating Heroku application and add-ons heroku create book-service --addons heroku-postgresql https://book-service.herokuapp.com/ | https://git.heroku.com/book-service.git cd ../book-service$
  • 152. yo jhipster:heroku$ Heroku configuration is starting ? Name to deploy as: BookService ? On which region do you want to deploy ? us Initializing Git repository Initialized empty Git repository in /Users/jkutner/workspace/book-service/.git/ Installing Heroku CLI deployment plugin Creating Heroku application and add-ons heroku create book-service --addons heroku-postgresql https://book-service.herokuapp.com/ | https://git.heroku.com/book-service.git ? What is the URL of your JHipster Registry? cd ../book-service$ https://admin:[email protected]
  • 153. yo jhipster:heroku$ Heroku configuration is starting ? Name to deploy as: BookService ? On which region do you want to deploy ? us Initializing Git repository Initialized empty Git repository in /Users/jkutner/workspace/book-service/.git/ Installing Heroku CLI deployment plugin Creating Heroku application and add-ons heroku create book-service --addons heroku-postgresql https://book-service.herokuapp.com/ | https://git.heroku.com/book-service.git ? What is the URL of your JHipster Registry? https://admin:foo@registry... JHIPSTER_REGISTRY_URL: https://admin:[email protected] Creating Heroku deployment files create src/main/resources/config/bootstrap-heroku.yml create src/main/resources/config/application-heroku.yml create Procfile Building application cd ../book-service$
  • 154. [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Book Service 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ book-service --- [INFO] Deleting /Users/jkutner/workspace/heroku/kissaten/tmp/book-service/target [INFO] [INFO] --- maven-resources-plugin:3.0.1:copy-resources (default-resources) @ book-service --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 11 resources [INFO] Copying 3 resources [INFO] [INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ book-service --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 11 resources [INFO] Copying 3 resources [INFO] [INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-versions) @ book-service --- [INFO] [INFO] --- jacoco-maven-plugin:0.7.7.201606060606:prepare-agent (pre-unit-tests) @ book- service --- [INFO] surefireArgLine set to -javaagent:/Users/jkutner/.m2/repository/org/jacoco/ org.jacoco.agent/0.7.7.201606060606/org.jacoco.agent-0.7.7.201606060606- runtime.jar=destfile=/Users/jkutner/workspace/heroku/kissaten/tmp/book-service/target/test- results/coverage/jacoco/jacoco.exec [INFO] [INFO] --- maven-processor-plugin:2.2.4:process (process) @ book-service --- [WARNING] diagnostic: warning: The following options were not recognized by any processor: '[mapstruct.defaultComponentModel, mapstruct.suppressGeneratorTimestamp]' [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ book-service --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 64 source files to /Users/jkutner/workspace/heroku/kissaten/tmp/book- service/target/classes
  • 155. [INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) @ book-service --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 2 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ book-service --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 2 source files to /Users/jkutner/workspace/heroku/kissaten/tmp/book-service/ target/test-classes [INFO] [INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ book-service --- [INFO] Tests are skipped. [INFO] [INFO] --- jacoco-maven-plugin:0.7.7.201606060606:report (post-unit-test) @ book-service --- [INFO] Skipping JaCoCo execution due to missing execution data file. [INFO] [INFO] --- maven-war-plugin:2.6:war (default-war) @ book-service --- [INFO] Packaging webapp [INFO] Assembling webapp [book-service] in [/Users/jkutner/workspace/heroku/kissaten/tmp/ book-service/target/book-service-0.0.1-SNAPSHOT] [INFO] Processing war project [INFO] Webapp assembled in [1417 msecs] [INFO] Building war: /Users/jkutner/workspace/heroku/kissaten/tmp/book-service/target/book- service-0.0.1-SNAPSHOT.war [INFO] [INFO] --- spring-boot-maven-plugin:1.4.0.RELEASE:repackage (default) @ book-service --- [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 16.222 s [INFO] Finished at: 2016-08-09T12:22:35-05:00 [INFO] Final Memory: 75M/508M [INFO] ------------------------------------------------------------------------
  • 156. Uploading book-service-0.0.1-SNAPSHOT.war -----> Packaging application... - app: book-service - including: target/book-service-0.0.1-SNAPSHOT.war -----> Creating build... - file: slug.tgz - size: 55MB -----> Uploading build... - success -----> Deploying... remote: remote: -----> JVM Common app detected remote: -----> Installing OpenJDK 1.8... done remote: -----> Discovering process types remote: Procfile declares types -> web remote: remote: -----> Compressing... remote: Done: 103.8M remote: -----> Launching... remote: Released v5 remote: https://book-service.herokuapp.com/ deployed to Heroku remote: -----> Done
  • 157. heroku ps$ heroku logs$ === web (Free): java -jar target/*.war --spring.profiles.active=prod,heroku ... web.1: up 2016/08/12 13:33:39 -0500 (~ 7s ago) 2016-08-12T18:33:39.671749+00:00 app[web.1]: ---------------------------------------------- 2016-08-12T18:33:39.671749+00:00 app[web.1]: Application 'BookService' is running! ... 2016-08-12T18:33:39.671750+00:00 app[web.1]: Local: http://127.0.0.1:59101 2016-08-12T18:33:39.671751+00:00 app[web.1]: External: http://172.18.244.210:59101 2016-08-12T18:33:39.671751+00:00 app[web.1]: ---------------------------------------------- 2016-08-12T18:33:39.671957+00:00 app[web.1]: 2016-08-12 18:33:39.671 INFO 3 — ... 2016-08-12T18:33:39.671959+00:00 app[web.1]: ---------------------------------------------- 2016-08-12T18:33:39.671960+00:00 app[web.1]: Config Server: Connected to the JHipster... 2016-08-12T18:33:39.671961+00:00 app[web.1]: ----------------------------------------------
  • 165. cd ../book-service$ heroku pg:psql$ select * from book;book-service::DATABASE=> ---> Connecting to DATABASE_URL ... id | isbn ------+------------ 1000 | 1937785319 (1 row)
  • 168. Deploy, Scale, and Sleep Better with Docker and Dev-Prod Parity [CON4122] Wednesday, Sep 21, 11:30 a.m. Want to learn more about Docker?
  • 169. Deepu K Sasidharan Project co-lead @deepu105 Julien Dubois Project lead @juliendubois Thanks!