About
This is a Vert.x skeleton project with some basics pre-setup (most of them could be easily swapped):
- Gradle as build tool
- Shadow plugin for fat jar creation
- JUL starting point
- Guice for dependency injection
- JOOQ as persistence layer (configured for CockroachDB/PostgreSQL)
- An example verticle & accompanying integration test using WireMock
Getting started
gradlew eclipse
- generates project files to import the project into eclipse (Edit build.gradle if you want another IDE)gradlew clean build -x test
- clean & build the project, don't run the testsgradlew runJar
- convencience task to run the Vert.x project (Edit build.gradle if you want to adjust the arguments)- After
runJar
navigate to http://localhost:8080/swanson to see an awesome Ron Swanson quote gradlew generateJooq
- convencience task to run the JOOQ code-generator (Edit jooq-config.xml to adjust behaviour)
What to find where
- build.gradle - Gradle build file
- MainVerticle - The verticle used by the Launcher in the JAR manifest (Edit build.gradle to specify another one)
- ConfigModule - Provides some injection bindings, loads the given config.json or the one packaged into the project
- config.json - packaged config.json to be used as default
- RonSwansonVerticle & RonSwansonHandler - example verticle and helper class
- RonSwansonIntegrationTest & GuiceTestModule - integration test & guice test module to startup a vertx instance with a mock config
- logger.properties - JUL config (Used in the
runJar
task in build.gradle)