* Unrecognized field in: database did you mean ?: - metrics - server - logging - DROPWIZARD

I cannot start the dropwizard application after adding the database information to the application configuration file (server.yml).

server.yml (application configuration file)

server: applicationConnectors: - type: http port: 8080 adminConnectors: - type: http port: 9001 database: # the name of your JDBC driver driverClass: org.postgresql.Driver # the username user: dbuser # the password password: pw123 # the JDBC URL url: jdbc:postgresql://localhost/database # any properties specific to your JDBC driver: properties: charSet: UTF-8 # the maximum amount of time to wait on an empty pool before throwing an exception maxWaitForConnection: 1s # the SQL query to run when validating a connection liveness validationQuery: "/* MyService Health Check */ SELECT 1" # the timeout before a connection validation queries fail validationQueryTimeout: 3s # the minimum number of connections to keep open minSize: 8 # the maximum number of connections to keep open maxSize: 32 # whether or not idle connections should be validated checkConnectionWhileIdle: false # the amount of time to sleep between runs of the idle connection validation, abandoned cleaner and idle pool resizing evictionInterval: 10s # the minimum amount of time an connection must sit idle in the pool before it is eligible for eviction minIdleTime: 1 minute 

As a result of running the dropwizard application, I see:

 has an error: * Unrecognized field at: database Did you mean?: - metrics - server - logging 
+5
source share
2 answers

In addition to the code provided by the dropwizard example, you need to add the setter property for the database.

 @Valid @NotNull @JsonProperty("database") private DataSourceFactory database = new DataSourceFactory(); public DataSourceFactory getDataSourceFactory() { return database; } public void setDatabase(DataSourceFactory database) { this.database = database; } 
+14
source

In your java application configuration file, you need to add a matching property for the "database". If the properties you specify are standard (they seem good!), You can save the DataSourceFactory type:

 public class ExampleConfiguration extends Configuration { @Valid @NotNull @JsonProperty private DataSourceFactory database = new DataSourceFactory(); public DataSourceFactory getDataSourceFactory() { return database; } public void setDatabase(DataSourceFactory database) { this.database = database; } } 

Example here: http://www.dropwizard.io/0.9.0/docs/manual/jdbi.html

+9
source

All Articles