Dropwizard中应用程序和服务的区别

时间:2013-12-24 03:44:29

标签: java dropwizard

我是Dropwizard的新手。在最新的文档中,它将“服务”称为任何应用程序的主要入口点。但在示例代码中,它实际上使用“应用程序”。我假设“应用程序”是“服务”的新名称,因为我在新的源代码中找不到“服务”。

我还注意到命名空间已从“com.yammer”更改为“com.codehaus”更改为“io.dropwizard”。我假设它反映了项目本身的演变。出于好奇,任何人都可以添加一些上下文来解释这个问题吗?

1 个答案:

答案 0 :(得分:16)

您引用的命名更改实际上是对即将推出的0.7版本的更改。该文档还不是最新的(实际上是根据邮件列表阻止0.7版本的主要内容)。

目前的发行说明可以在master branch

中找到
  • 升级到Java 7。
  • 已移至io.dropwizard组ID和名称空间。
  • 提取出一些可重用的库:dropwizard-configurationdropwizard-jacksondropwizard-jerseydropwizard-jettydropwizard-lifecycledropwizard-loggingdropwizard-servletsdropwizard-utildropwizard-validation
  • Environment的各种元素抽取到单独的类中:JerseyEnvironmentLifecycleEnvironment等等。
  • 摘录出dropwizard-views-freemarkerdropwizard-views-mustachedropwizard-views现在只提供基础设施。
  • Service重命名为Application
  • 添加了dropwizard-forms,它为多部分MIME实体提供支持。
  • 已添加dropwizard-spdy
  • 添加了AppenderFactory,允许为应用程序和请求提供任意日志记录附加程序 日志。
  • 添加ConnectorFactory,允许任意Jetty连接器。
  • 添加了ServerFactory,实现了多连接器和单连接器。
  • 为使用Graphite和Ganglia实施的指标报告者添加了ReporterFactory
  • 添加ConfigurationSourceProvider以允许从其他来源加载配置文件 文件系统。
  • 添加了setuid支持。将用户/组配置为运行为和软/硬打开文件限制 ServerFactory。要绑定到特权端口(例如80),请启用startAsRoot并设置usergroup,然后以root用户身份启动您的应用程序。
  • 为托管执行程序添加了构建器。
  • 添加了一个默认的check命令,用于加载和验证服务配置。
  • dropwizard-client添加了对Jetty HTTP客户端的支持。
  • 添加了Jackson Afterburner支持。
  • 添加了对deflate编码请求和响应的支持。
  • 添加了对HTTP会话的支持。将带注释的参数添加到资源方法: @Session HttpSession session注入会话上下文。
  • 添加了对跨请求传播的“flash”消息的支持。添加带注释的参数 到您的资源方法:@Session Flash message以注入任何现有的Flash消息。
  • 添加了使用模糊匹配规则(即空格)反序列化Java enums的支持 剥离,- / _等价,不区分大小写等。)。
  • 添加HibernateBundle#configure(Configuration)以自定义Hibernate配置。
  • 在使用JDBI时添加了对Joda Time DateTime参数和结果的支持。
  • 添加配置选项以在登录syslog时包含异常堆栈跟踪。堆栈痕迹 现在默认排除。
  • 将应用程序名称和PID(如果可检测)添加到syslog消息的开头,就像这样 约定。
  • --migrations-file命令添加了migrate命令行选项以提供迁移 文件明确。
  • 验证错误现在作为application/json响应返回。
  • 简化AsyncRequestLog;现在标准化为Jetty 9 NCSA格式。
  • DatabaseConfiguration重命名为DataSourceFactory,将ConfigurationStrategy重命名为 DatabaseConfiguration
  • 将日志记录更改为异步。消息现在被缓冲并在内存中进行批处理 交付给配置的appender。
  • 更改了运行时配置错误的处理。将不再显示异常堆栈跟踪 并将提供更有用的问题描述,包括适当的建议。
  • 更改错误处理以更多地依赖于Jersey异常映射。
  • dropwizard-db更改为使用tomcat-jdbc而非tomcat-dbcp
  • 在记录嵌套的Exceptions时更改默认格式以首先显示根本原因。
  • ResourceTest替换为ResourceTestRule,一个JUnit TestRule
  • 删除了Scala支持。
  • 放弃ManagedSessionFactory
  • 丢弃ObjectMapperFactory;请改用ObjectMapper
  • 丢弃Validator;请改用javax.validation.Validator
  • 修复了dropwizard-migrations
  • 中的关机错误
  • 修复了在记录嵌套异常时没有添加前缀的“由...引起”的格式。
  • 修正了启动时未记录所有可用的Jersey端点。
  • 升级为argparse4j 0.4.1。
  • 升级为番石榴15。
  • 升级到Hibernate Validator 5.0.1。
  • 升级到杰克逊2.2.3。
  • 升级到JDBI 2.50。
  • 升级到Jetty 9.0.5。
  • 升级为Liquibase 3.0.4。
  • 升级到Logback 1.0.13。
  • 升级到Metrics 3.0.1。
  • 升级为Moustache 0.8.13。
  • 升级至SLF4J 1.7.5。