何时使用 DropWizard 捆绑包?
2022-09-01 19:30:38
捆绑包就像Dropwizard的插件,可以很容易地添加小块功能。例如,如果您使用资产捆绑包,则可以将 UI 附加到 API 以进行测试,它将在同一端口上运行,并且非常易于使用。另一个例子是迁移捆绑包,它可以轻松地将 Liquibase 绑定到 Dropwizard 中,这样您就可以使用相同的 jar 运行数据库迁移。这也很好,因为您的API可以访问一些sql数据库,该数据库在yml文件中定义了连接参数,迁移将能够在同一数据库上运行。
假设您在公司为平台团队工作,您的开发人员使用Kafka作为消息总线。
然后,您可以要求开发团队在其 DW 应用中添加以下配置,并且可以编写捆绑包来解析代理,并构建生产者实例。通过与任何依赖关系注入框架集成,您所要做的就是在需要时@InJect生产者实例。
kafka-broker-uris: <your kafka broker urls>
我们可以使用库做同样的事情,并调用一个获取 broker-uri 并返回生产者对象的方法。
但是,我相信,主要的好处来自捆绑包知道如何解析配置,并在DW生命周期的初始化阶段预构建必要的对象。另外,如果你想在你的公司里设定一个关于如何定义配置文件的标准,那么最好使用捆绑包。