2015-05-06 12 views
5

Uygulama yapılandırma dosyasında (server.yml) veritabanı ayrıntıları ekledikten sonra dropwizard uygulamasına başlayamıyorum.* Tanınmayan alan adı: veritabanı Bu mu demek istediniz ?: - metrikler - sunucu - günlüğe kaydetme - DROPWIZARD

görebildiğim çalışma dropwizard uygulamasının sonucu olarak server.yml (app yapılandırma dosyası)

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's 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 

:

sizin uygulama yapılandırma java dosyasında
has an error: 
    * Unrecognized field at: database 
    Did you mean?: 
     - metrics 
     - server 
     - logging 

cevap

9

, eklemek zorunda "veritabanı" için özellik eşleme. Eğer belirterek ediyoruz özellikler standart olanlar, o zaman DataSourceFactory türüyle tutabilir (onlar için bakmak, hangi iyi!):

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; 
    } 
} 

Örnek burada: http://www.dropwizard.io/0.9.0/docs/manual/jdbi.html Ayrıca

+0

benim için çalıştı mı :(Zaten Belki bağlantılı dokümantasyon sayfasını kontrol hala sorunu – RAJ

+1

bakan benim alanlar için getter var? Işler bu cevap itibaren değişmiş olabilir ... onlar JsonProperty açıklamaları gerektirebilir benziyor şimdi (ya da belki de sadece bunu belirtir) –

+0

Teşekkürler, ancak dokümanlar denedi ama hayır şans – RAJ

14

verilen alan kodu için dropwizard örnek tarafından veritabanı özelliği için bir setter eklemeniz gerekir.

@Valid 
@NotNull 
@JsonProperty("database") 
private DataSourceFactory database = new DataSourceFactory(); 

public DataSourceFactory getDataSourceFactory() { 
    return database; 
} 

public void setDatabase(DataSourceFactory database) { 
    this.database = database; 
} 
+0

teşekkürler, bu zor oldu – vvondra

+1

teşekkürler! işe yaradı, bu cevap doğru olarak işaretlenmiş olmalıdır –

+0

Aynı hata yaşıyorum, ama yml sunucu bölümü için: "Tanınmayan alan at: http" Bu bölümün yapılandırma sınıfı özelliklerini nasıl uygulamalıyım? Teşekkür ederiz. – dushkin

İlgili konular