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

eta*_*ang 15 java dropwizard

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

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

mss*_*mss 16

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

可以在主分支中找到当前的发行说明.

  • 升级到Java 7.
  • 已移至io.dropwizard组ID和名称空间.
  • 提取出了一些可重复使用的库:dropwizard-configuration, dropwizard-jackson,dropwizard-jersey,dropwizard-jetty,dropwizard-lifecycle, dropwizard-logging,dropwizard-servlets,dropwizard-util,dropwizard-validation.
  • 提取出的各种元件Environment,以单独的类:JerseyEnvironment, LifecycleEnvironment,等.
  • 提炼出来的dropwizard-views-freemarkerdropwizard-views-mustache. dropwizard-views现在只提供基础设施.
  • 改名ServiceApplication.
  • 添加dropwizard-forms,提供对多部分MIME实体的支持.
  • 补充说dropwizard-spdy.
  • 添加AppenderFactory,允许应用程序和请求日志的任意日志记录附加程序.
  • 添加ConnectorFactory,允许任意Jetty连接器.
  • 添加ServerFactory了多连接器和单连接器实现.
  • ReporterFactory为度量报告者添加了Graphite和Ganglia实现.
  • 添加ConfigurationSourceProvider以允许从文件系统以外的源加载配置文件.
  • 添加了setuid支持.将用户/组配置为运行为和软/硬打开文件限制 ServerFactory.绑定到特权端口(如80),启用startAsRoot并设置usergroup,然后开始你的应用程序作为root用户.
  • 为托管执行程序添加了构建器.
  • 添加了一个默认check命令,用于加载和验证服务配置.
  • 添加了对Jetty HTTP客户端的支持dropwizard-client.
  • 添加了Jackson Afterburner支持.
  • 添加了对deflate-encoded请求和响应的支持.
  • 添加了对HTTP会话的支持.将带注释的参数添加到资源方法: @Session HttpSession session注入会话上下文.
  • 添加了对跨请求传播的"flash"消息的支持.将带注释的参数添加到资源方法:@Session Flash message注入任何现有的Flash消息.
  • 添加了对enums使用模糊匹配规则反序列化Java的支持(即空白剥离,-/ _等价,不区分大小写等).
  • 添加HibernateBundle#configure(Configuration)了自定义Hibernate配置.
  • DateTime使用JDBI时,添加了对Joda Time 参数和结果的支持.
  • 添加配置选项以在登录到syslog时包含异常堆栈跟踪.现在默认排除堆栈跟踪.
  • 按照惯例,将应用程序名称和PID(如果可检测)添加到syslog消息的开头.
  • 添加了--migrations-file命令行选项以migrate显式提供迁移文件.
  • 验证错误现在作为application/json响应返回.
  • 简化AsyncRequestLog; 现在标准化Jetty 9 NCSA格式.
  • 更名DatabaseConfigurationDataSourceFactory,并ConfigurationStrategyDatabaseConfiguration.
  • 将日志记录更改为异步.消息现在被缓冲并在内存中进行批处理,然后传递给配置的appender.
  • 更改了运行时配置错误的处理.将不再显示异常堆栈跟踪,并将提供更有用的问题描述,包括适当的建议.
  • 更改错误处理更依赖于Jersey异常映射.
  • 改为dropwizard-db使用tomcat-jdbc而不是tomcat-dbcp.
  • 记录嵌套的Exceptions时更改默认格式以首先显示根本原因.
  • 更换ResourceTestResourceTestRule,一个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.