我正在使用 com.yammer.dropwizard.config.Environment addProvider 方法在 Jersey 中注册提供程序。我也有一个自定义提供程序,它执行类似于 Dropwizards 自己的 MessageBodyWriterProvider 的任务。
Jersey 似乎选择了内置的 MessageBodyWriter 而不是我自定义的。所以我想,如果我删除已注册的内置提供程序并注册我自己的,它将正常工作。
有没有办法用类名或其他方式删除已经添加的提供者?
最佳答案
environment.getJerseyResourceConfig().getSingletons()
返回一个可变的
Set<Object>
在 Jersey 注册的所有资源和提供者。使用 instanceOf
对此进行简单迭代检查应该足够了。相关方法
getProviderSingletons
不会工作,因为它正在返回一个新的集合。从该集合中删除不会从原始集合中删除。
关于jersey - 在 Jersey 中删除添加的提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17794372/