2013-07-22 41 views
2

我正在使用com.yammer.dropwizard.config.Environment addProvider方法在Jersey.中註冊提供程序。我也有一個自定義提供程序,它執行的任務類似於Dropwizards自己的MessageBodyWriterProvider。在澤西島中刪除添加的提供程序

澤西島似乎選擇內置的MessageBodyWriter而不是我自定義的一個。所以我認爲如果我刪除了已註冊的註冊提供程序並註冊了我自己的程序,它將正常工作。

有沒有辦法使用類名或其他方式刪除已添加的提供程序?

回答

3
environment.getJerseyResourceConfig().getSingletons() 

返回Jersey中註冊的所有資源和提供者的可變Set<Object>。用instanceOf檢查進行簡單迭代就足夠了。

相關方法getProviderSingletons將不起作用,因爲它正在返回一個新的集合。從該集合中刪除將不會從原始刪除。

+2

不適用於dropwizard 0.8 –