标签: dropwizard

如何配置Dropwizard访问日志的位置和旋转?

我的日志配置如下所示:

logging:
  level: INFO

  loggers:
    "com.example.broker": DEBUG
    "org.apache.http.wire": DEBUG

  console:
    threshold: ERROR

  file:
    enabled: true
    currentLogFilename: /opt/broker/log/broker.log
    archivedLogFilenamePattern: /opt/broker/log/broker.%d.log.gz
    archivedFileCount: 14
Run Code Online (Sandbox Code Playgroud)

这很棒,我通过正确的旋转和清理得到了我在给定文件中的所有日志.

除了仍然进入stdout的访问日志,因此最终(在我的情况下)/var/log/upstart/broker.log只能由root访问.我想使用相同或类似的日志配置来重定向这些日志/opt/broker/log/access.log.

这是可能的,如果是的话,怎么样?

logging access-log dropwizard

10
推荐指数
2
解决办法
1万
查看次数

将jetty servlet添加到dropwizard中

我需要将jetty servlet添加到使用dropwizard框架实现的现有服务器中.

更具体:

  1. 我有一个宁静的资源Foo映射到url"localhost:8080/foo"与CRUD操作.
  2. 现在我需要一个映射到url"localhost:8080/bar"的jetty servlet并处理对这个url的所有请求(主要是GET和POST).

一些谷歌搜索后,我无法弄清楚如何做到这一点.有人可以给我一个指示或片段吗?谢谢!

java servlets jetty dropwizard

10
推荐指数
1
解决办法
7387
查看次数

默认情况下每个字段的含义DropWizard中的HTTP请求日志的默认格式

在Dropwizard中生成的访问日志具有以下格式: -

10.10.10.10 - - [16/Mar/2015:23:59:59 +0530]"GET /yyyy/vx.x/uri HTTP/1.1"200 - " - "" - "1

字段1: - 10.10.10.10(提出请求的IP地址)

第二场: - [16/Mar/2015:23:59:59 +0530](请求时间和日期)

字段3: - "GET /yyyy/vx.x/uri HTTP/1.1"(HTTP Rest API方法)

字段4: - 200(HTTP响应代码)

第5场: - " - "(????)

字段6: - " - "(????)字段7: - 1(????)

有人能解释访问日志格式中每个字段的含义吗?我对最后一栏意义更加好奇.

感谢帮助.

http jersey dropwizard

10
推荐指数
1
解决办法
5393
查看次数

限制dropwizard管理页面

如何验证Dropwizard管理门户,以限制普通用户访问它?请帮忙

dropwizard

9
推荐指数
2
解决办法
3023
查看次数

Dropwizard热部署

我正在寻找一个简单易用的Java系统,它为我创建了一个REST服务.所以我找到了dropwizard,但据我可以使用谷歌,它发现它缺乏热部署,虽然码头能够这样做.使用maven-shade-plugin时,至少需要10秒才能构建该东西.此外,我的IDE报告说,当涉及shade-plugin时,它不能使用编译保存功能(也就是热部署).

我可以用某种方式使用hotdeployment吗?或者我可以使用什么呢?

更新:如果没有什么能解决这个问题,我可能会使用球衣和guice等的组合,这在本文中有所解释

java rest hotdeploy dropwizard

9
推荐指数
1
解决办法
2952
查看次数

如何将jdbiFactory DAO注入Dropwizard命令?

我开始使用Dropwizard,我正在尝试创建一个需要使用数据库的Command.如果有人想知道我为什么要这样做,我可以提供充分的理由,但无论如何这不是我的问题.它是关于Dropwizard中的依赖性反转和服务初始化以及运行阶段.

Dropwizard鼓励使用它的DbiFactory来构建DBI实例,但是为了得到一个,你需要一个Environment实例和/或数据库配置:

public class ConsoleService extends Service<ConsoleConfiguration> {

  public static void main(String... args) throws Exception {
    new ConsoleService().run(args);
  }

  @Override
  public void initialize(Bootstrap<ConsoleConfiguration> bootstrap) {
    bootstrap.setName("console");
    bootstrap.addCommand(new InsertSomeDataCommand(/** Some deps should be here **/));
  }

  @Override
  public void run(ConsoleConfiguration config, Environment environment) throws ClassNotFoundException {
    final DBIFactory factory = new DBIFactory();
    final DBI jdbi = factory.build(environment, config.getDatabaseConfiguration(), "postgresql");
    // This is the dependency I'd want to inject up there
    final SomeDAO dao …
Run Code Online (Sandbox Code Playgroud)

java dependency-injection jdbi dropwizard

9
推荐指数
1
解决办法
3345
查看次数

如何部署dropwizard应用程序

我读了一些关于dropwizard应用程序构建的评论:[1]"Dropwizard被设计为作为JAR运行,而不是作为WAR文件运行." [2]"你不能这样做.Dropwizard嵌入了Jetty.你应该考虑使用Jersey作为标准的Web应用程序."所以,我的问题是:

1 - 如何在生产环境中部署jar文件?

2 - 我将如何管理服务?例如,有没有办法监控应用程序的健康状况?如果应用程序崩溃,我怎么能自动重新启动它?

[1] 如何从dropwizard应用程序创建战争? [2] 在tomcat容器中的Dropwizard

java deployment production tomcat dropwizard

9
推荐指数
1
解决办法
8015
查看次数

DropWizard没有注册我的健康检查

在我的DropWizard(v0.7.0)应用程序中,我有DummyHealthCheck这样的:

public class DummyHealthCheck extends HealthCheck {
    @Override
    protected Result check() throws Exception {
        return Result.healthy();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的主要Applicationimpl:

public class MyApplication extends Application<MyConfiguration> {
    @Override
    public void run(MyConfiguration configuration, Environment environment)
            throws Exception {
        environment.jersey().register(new DummyHealthCheck());
    }
}
Run Code Online (Sandbox Code Playgroud)

当我启动服务器时,它成功启动(没有异常/错误),但是我收到以下消息:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!    THIS APPLICATION HAS NO HEALTHCHECKS. THIS MEANS YOU WILL NEVER KNOW      !
!     IF IT DIES IN PRODUCTION, WHICH MEANS YOU WILL NEVER KNOW IF YOU'RE      !
!    LETTING YOUR USERS …
Run Code Online (Sandbox Code Playgroud)

java health-monitoring dropwizard codahale-metrics

9
推荐指数
1
解决办法
4511
查看次数

如何使用ResourceTestRule打开单元测试中的跟踪?

我正在使用带有球衣的dropwizard.我在资源中的路径有问题,并想调试它.你如何为此配置泽西环境变量?以下不起作用.

@ClassRule
public static final ResourceTestRule resources = ResourceTestRule.builder()
    .addResource(UserResource.class)
    .addProperty("jersey.config.server.tracing.type", "ON")
    .build();
Run Code Online (Sandbox Code Playgroud)

dropwizard

9
推荐指数
1
解决办法
806
查看次数

如何使用Eclipse在调试模式下运行Dropwizard应用程序?

我想在调试模式下运行我的Dropwizard 0.8.5应用程序,其中:

  • 该应用程序使用JPDA在本地运行; 和
  • 在我的IDE(Eclipse)中,我设置断点并使用JPDA客户端连接到我本地运行的应用程序(我认为这是怎么回事)

对于服务器调试模式:

通常我的DW应用程序从命令行运行,如下所示:

java -jar build/libs/myapp.jar server src/test/resources/myapp-local.yml
Run Code Online (Sandbox Code Playgroud)

那么在调试模式(JPDA)中运行它的命令行参数是什么,或者myapp-local.yml完成此操作所需的修改是什么?


对于Eclipse/JPDA客户端

我假设我只是设置断点,然后在Eclipse中创建一个新的调试配置,但不确定使用什么参数/配置来设置此配置.有任何想法吗?

java classpath default-package dropwizard

9
推荐指数
1
解决办法
5943
查看次数