标签: dropwizard

Dropwizard:如何以编程方式停止服务

要开始这项服务,我知道有人使用new MyService().run(args).怎么阻止它?

我需要启动和编程停止setUp(),并tearDown()在我的测试.

java dropwizard

12
推荐指数
3
解决办法
7744
查看次数

向Dropwizard添加其他指标

如何将自定义指标添加到Dropwizard在管理端口上提供的默认内容(8081)?除了添加健康检查之外,我在文档中找不到任何内容.我非常希望合并从MongoDB中检索到的一些统计信息,并且宁愿使用8081上的管理资源,而不是在端口8080上创建自定义指标页面.

java dropwizard

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

在dropwizard-hibernate中生成模式

我按照dropwizard和hibernate的教程没有问题.现在我在我的实体中有非平凡的注释,我希望hibernate为我生成表格,以及类似的东西.那么,我该如何改变hibernate的配置呢?我可以给它一个hibernate.cfg.xml吗?如果可以的话,我是否必须再次建立连接?

我发现了这个PR,但它似乎还没有公开发布(我的jar中没有hibernateBundle.configure)

但也许我在寻找错误的东西.到目前为止,我只是想设置hibernate.hbm2dll.auto.毕竟,可能还有另一种方法可以在Dropwizard中启用hibernate表生成 ...那么,有什么帮助吗?

谢谢.


编辑:我从另一个角度处理问题,显式创建模式而不是使用hbm2ddl.auto.见建议的答案.

maven hibernate-4.x dropwizard

11
推荐指数
1
解决办法
3991
查看次数

如何使@JsonSnakeCase成为Dropwizard配置的默认设置

我如何配置jackson在dropwizard中使用snake case而不是在每个类中放置@JsonSnakeCase?

jackson dropwizard

11
推荐指数
2
解决办法
3526
查看次数

Jersey 2.x具有属性的自定义注入注释

我正在从DropWizard 0.7.1迁移到0.8.1.这包括从Jersey 1.x迁移到2.x. 在我使用Jersey 1.18.1的实现中,我实现了MyProvider(为简单起见改变了所有类名)InjectableProvider.该类将创建MyInjectable包含自定义注入注释的对象MyToken.MyToken包含传递和读取的各种属性MyInjectable.最后,在Application类中我注册了一个新的实例MyProvider,如下所示.

我做了一些研究,似乎无法解决我在泽西岛2.x中如何重新创建(或替代,我认为)这样一个场景.

这是当前的1.18.1实现:

    @Retention(RetentionPolicy.RUNTIME)
    @Target({ ElementType.PARAMETER, ElementType.FIELD })
    public @interface MyToken {

        // Custom annotation containing various attributes
        boolean someAttribute() default true;
        // ...
    }

    public class MyProvider implements InjectableProvider<MyToken, Parameter> {

        // io.dropwizard.auth.Authenticator
        private final Authenticator<String, MyObject> authenticator;

        public MyProvider(Authenticator<String, MyObject> authenticator) {
            this.authenticator = authenticator;
        }

        @Override
        public ComponentScope getScope() {
            return ComponentScope.PerRequest;
        }

        @Override
        public Injectable<?> getInjectable(ComponentContext …
Run Code Online (Sandbox Code Playgroud)

java jersey dropwizard jersey-2.0 hk2

11
推荐指数
1
解决办法
9706
查看次数

Dropwizard日志记录:为特定记录器添加新的appender

我是dropwizard的新手,我正试图找出更好地配置日志记录的方法.

我在一个捆绑包中注册了一个新的记录器,如下所示:

Logger log = LoggerFactory.getLogger("mylogger");
log.info("this is a log from mylogger");
Run Code Online (Sandbox Code Playgroud)

现在我在一堆服务中使用这个包.默认情况下,通过此记录器的任何日志都将写入应用程序日志文件.

我试图解决的问题是:我希望mylogger(仅)编写的所有日志都转到新文件.将新的appender添加到服务yml文件是相当明星的,如:

logging:

  loggers:

  appenders:
  - type: file.
    currentLogFilename: ./logs/example.log
    archivedLogFilenamePattern: ./logs/example-%d.log.gz
    archivedFileCount: 5
Run Code Online (Sandbox Code Playgroud)

但这意味着现在所有的应用程序日志都会写入example.log.我不知道如何为这个appender专门指定一个不影响/改变现有日志记录的记录器.

有人能告诉我是否有办法在dropwizard中执行此操作?谢谢!

java logging logback dropwizard

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

Dropwizard:新的管理资源

我正在使用Drowpizard 0.7.1,但也许我很快会升级到0.8.4.

有没有人知道如何向dropwizard添加管理资源,这在操作菜单中显示,如下例所示?

Operational Menu

    Metrics
    Ping
    Threads
    Healthcheck
    CustomAdminXy
Run Code Online (Sandbox Code Playgroud)

java servlets admin dropwizard

11
推荐指数
1
解决办法
3060
查看次数

将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
查看次数

在JDBI/Dropwizard应用程序中使用@Transaction

我喜欢这两个jdbi dao:

public interface dao1 {
  @Query("insert into table1 ...")
  findByid(myBean1);
}

public interface dao2 {
  @Query("insert into table2 ...)
  save(myBean2;
  }
}
Run Code Online (Sandbox Code Playgroud)

我想在一个事务中执行两个dao的保存,如:

dao1.save();
dao2.save();
Run Code Online (Sandbox Code Playgroud)

使用spring我使用了@transactional注释.我可以用dropwizard和jdbi做什么?

java transactions jdbi dropwizard

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