This tutorial will guide you through how to create a bare bones Dropwizard app. Ensure you have Eclipse installed or whatever IDE you are deciding to use. You can use their documentation as a guide. This is the first tutorial in the dropwizard series.
Setup Eclipse Archetype:
Select new Maven Project then in the select Archetype if dropwizard isn’t there you can add it by using the below settings.
Filter for Dropwizard Archetype:
Set Project Settings:
POM:
Ensure the pom has the correct “dropwizard.version” and that the dependency “dropwizard-core” is there.
Our Configuration:
Now that the project is created let’s have a look at what our configuration looks like. Pretty basic but that’s all we need right now.
package ca.gaudreault.mydropwizardapp;
import io.dropwizard.Configuration;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.hibernate.validator.constraints.*;
import javax.validation.constraints.*;
public class MyDropwizardAppConfiguration extends Configuration {
}
Our Application:
This is what our application class looks like. It’s empty nothing yet.
package ca.gaudreault.mydropwizardapp;
import io.dropwizard.Application;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
public class MyDropwizardAppApplication extends Application {
public static void main(final String[] args) throws Exception {
new MyDropwizardAppApplication().run(args);
}
@Override
public String getName() {
return "MyDropwizardApp";
}
@Override
public void initialize(final Bootstrap bootstrap) {
}
@Override
public void run(final MyDropwizardAppConfiguration configuration,
final Environment environment) {
}
}
Config.yml:
This is what our config.yml file looks like at the start.
logging:
level: INFO
loggers:
ca.gaudreault: DEBUG
Setup Debug Configuration:
Setup your debug configuration like the below setup.
Running:
Once you run it you will be running two sites.
- http://localhost:8080
- Your main site
- http://localhost:8081
- Your operational site (health, etc)
You must be logged in to post a comment.