我有一个与Dropwizard指标集成的Spring Boot应用程序。
当我将定时注释添加到一些API(控制器方法)中时,它显示在metrics链接上。
例如,对于下面的RestController:
@RestController
public class TestController {
@GET
@Path("/ping")
@Timed
@ApiOperation("Ping server")
public Response Ping() {
return Response.ok().build();
}
}
然后结果如下:
"timers": {
"com.test.testcontroller.Ping": {
"count": 0,
"max": 0.0,
"mean": 0.0,
"min": 0.0,
"p50": 0.0,
"p75": 0.0,
"p95": 0.0,
"p98": 0.0,
"p99": 0.0,
"p999": 0.0,
"stddev": 0.0,
"m15_rate": 0.0,
"m1_rate": 0.0,
"m5_rate": 0.0,
"mean_rate": 0.0,
"duration_units": "seconds",
"rate_units": "calls/second"
}
}
我有大约20个控制器,总共有130个API(方法),所以我想配置一个宽注释或自动注入定时注释。类似于:
@RestController
@Timed
public class TestController {
@GET
@Path("/ping")
@ApiOperation("Ping server")
// timed will auto applied in here
public Response Ping() {
return Response.ok().build();
}
}
我怎样才能做到这一点?
@Timed
在Class
(Controller
)级别不支持度量检测。以下是建议切入点的摘录(来自metrics-Spring集成库):
class TimedMethodInterceptor extends AbstractMetricMethodInterceptor<Timed, Timer> implements Ordered {
public static final Class<Timed> ANNOTATION = Timed.class;
public static final Pointcut POINTCUT = new AnnotationMatchingPointcut(null, ANNOTATION);
public static final MethodFilter METHOD_FILTER = new AnnotationFilter(ANNOTATION, PROXYABLE_METHODS);
public TimedMethodInterceptor(final MetricRegistry metricRegistry, final Class<?> targetClass) {
super(metricRegistry, targetClass, ANNOTATION, METHOD_FILTER);
}
//...
}
正如您从上面的摘录中看到的,@Timed
注释仅在method
级别匹配。
然后,您必须调整库源并为其使用自定义构建(请注意库许可证),或者在所有API方法上显式添加计时器度量注释。
在所有活动上添加导航抽屉的有效方法是什么?我不想在所有的活动和它们的布局中重复导航抽屉的代码。有没有可能以某种方式添加导航。BaseActivity(自定义类)中的抽屉,然后每个其他活动都将扩展BaseActivity以便拥有导航抽屉?
我很难知道如何将我的JFXPanel(它是一个mp3播放器)集成到一个现有的Swing应用程序中,该应用程序是一个JFrame,其中添加了几个不同的JPanel。我对JavaFX是一个完全的noob,它与Swing非常不同。 我能够得到下面的代码来运行和做我想做的事情。它将播放mp3文件从一个目录,我有他们包含在。这是某人编写的示例中的代码。我的问题是,这段代码创建了JFrame,有main方法和
我在跟踪AWS的文档,这里。除了apply插件之外,我可以将所有内容添加到项目的、和应用程序的中。当我补充:
我已经在OpenShift上创建了Spring快速启动应用程序,它运行良好,显示了一个用户注册的网页,除了重新启动后它不记得新成员。我在想,这是因为我没有真正的数据库。所以我添加了一个PostgreSQL-9.2墨盒。所以我的问题是如何将postgresql准确地配置到OpenSift Spring应用程序中,以便这个web服务器能够存储重启后持续存在的数据。
我希望将ASP.NET Web API添加到在Visual Studio2012中开发的ASP.NET MVC4 Web应用程序项目中。我必须执行哪些步骤才能向项目中添加一个正常工作的Web API?我知道我需要一个从ApiController派生出来的控制器,但这就是我所知道的全部。 null
假设您在制作一个新的MVC(5)项目时忘了勾选Web API复选框(将其添加到项目中),那么您需要做什么来添加Web API并使其工作呢? 有许多迁移问题,但似乎没有一个是完整的,最新的步骤来将Web API添加到MVC5项目中,而且似乎已经改变了一些旧的答案。 在MVC4中添加Web API null