要开始这项服务,我知道有人使用new MyService().run(args).怎么阻止它?
我需要启动和编程停止setUp(),并tearDown()在我的测试.
如何将自定义指标添加到Dropwizard在管理端口上提供的默认内容(8081)?除了添加健康检查之外,我在文档中找不到任何内容.我非常希望合并从MongoDB中检索到的一些统计信息,并且宁愿使用8081上的管理资源,而不是在端口8080上创建自定义指标页面.
我按照dropwizard和hibernate的教程没有问题.现在我在我的实体中有非平凡的注释,我希望hibernate为我生成表格,以及类似的东西.那么,我该如何改变hibernate的配置呢?我可以给它一个hibernate.cfg.xml吗?如果可以的话,我是否必须再次建立连接?
我发现了这个PR,但它似乎还没有公开发布(我的jar中没有hibernateBundle.configure)
但也许我在寻找错误的东西.到目前为止,我只是想设置hibernate.hbm2dll.auto.毕竟,可能还有另一种方法可以在Dropwizard中启用hibernate表生成 ...那么,有什么帮助吗?
谢谢.
编辑:我从另一个角度处理问题,显式创建模式而不是使用hbm2ddl.auto.见建议的答案.
我如何配置jackson在dropwizard中使用snake case而不是在每个类中放置@JsonSnakeCase?
我正在从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) 我是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中执行此操作?谢谢!
我正在使用Drowpizard 0.7.1,但也许我很快会升级到0.8.4.
有没有人知道如何向dropwizard添加管理资源,这在操作菜单中显示,如下例所示?
Operational Menu
Metrics
Ping
Threads
Healthcheck
CustomAdminXy
Run Code Online (Sandbox Code Playgroud) 我需要将jetty servlet添加到使用dropwizard框架实现的现有服务器中.
更具体:
一些谷歌搜索后,我无法弄清楚如何做到这一点.有人可以给我一个指示或片段吗?谢谢!
在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(????)
有人能解释访问日志格式中每个字段的含义吗?我对最后一栏意义更加好奇.
感谢帮助.
我喜欢这两个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做什么?
dropwizard ×10
java ×7
jersey ×2
servlets ×2
admin ×1
hk2 ×1
http ×1
jackson ×1
jdbi ×1
jersey-2.0 ×1
jetty ×1
logback ×1
logging ×1
maven ×1
transactions ×1