jersey - 在 Jersey 中删除添加的提供程序

标签 jersey provider dropwizard

我正在使用 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/

相关文章:

java - 上线 jersey webservice + MySQL 数据库

java - @Post 方法在 @Path 中捕获括号在 Jersey 中不匹配

guice - 如何将预构建的实例传递给 guice 中的提供者?

flutter - 如何在 flutter/dart 中从购物车中删除商品

dropwizard - 配置 Dropwizard ObjectMapper 以进行配置以忽略未知

jersey - 在 Resources 中的 ContainerRequestFilter 中创建的访问对象

java - Rest Web 服务不返回 XML 响应,甚至在 Eclipse 中没有登录控制台

flutter - 如何在 Flutter 中使用多个 ChangeNotifierProvider?

gradle - 如何从 build.gradle 为 Kotlin 应用程序加载配置文件?

java - 通过 servlet 访问 Dropwizard JVM 指标时出现问题