我想知道 Dropwizard 客户端模块应该如何实现。
混乱的来源:
Dropwizard 建议您将项目分开:
一般来说,我们建议您将项目分成三个 Maven 模块:project-api、project-client 和 project-service。
在客户端部分,它显示您可以在方法中实例化 dropWizard 提供的 httpClient run
。
@Override
public void run(ExampleConfiguration config,
Environment environment) {
final Client client = new JerseyClientBuilder().using(config.getJerseyClientConfiguration())
.using(environment)
.build();
environment.addResource(new ExternalServiceResource(client));
}
我认为客户端模块会包装 httpClient,任何其他服务都可以使用客户端模块,而无需关心它使用的是哪个 httpClient。
所以
- 客户端模块的外观如何
- 您何时会在服务的 run 方法中直接实例化 httpClient(如上面的代码片段中所做的那样)
谢谢!