小编coo*_*lsv的帖子

如何在 JAX-RS 过滤器中记录请求处理时间

我有 JAX-RS Web 应用程序,我想记录从获取请求到响应的时间量。在 Spring Boot 中使用 servlet 过滤器很容易。但我的应用程序中的过滤器无法正常工作:

@Provider
public class RequestLogFilter implements ContainerRequestFilter, ContainerResponseFilter {

    private long requestStartTime;

    @Override
    public void filter(ContainerRequestContext requestContext) {
        requestStartTime = System.currentTimeMillis();
    }

    @Override
    public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) {
        long requestFinishTime = System.currentTimeMillis();
        System.out.println(requestFinishTime - requestStartTime);
    }

}
Run Code Online (Sandbox Code Playgroud)

它在第一种方法中工作正常,其中当前时间戳写入requestStartTime. 但是,似乎第二种方法有自己的requestStartTime变量副本,因为它是第二种方法,它始终等于零。所以我无法计算变量之间的差异。我可以做什么来记录请求处理时间?

jax-rs quarkus

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

在java中将骆驼式字符串解析为大写枚举的任何优雅方法?

我需要从字符串解析枚举实例。问题是我有骆驼样式的输入字符串,例如docType和常量样式的枚举,例如DOC_TYPE.

据我所知,java 需要在枚举解析上完全匹配,所以我试图找到一种优雅的方法来解决这个问题。

java enums

-1
推荐指数
1
解决办法
606
查看次数

标签 统计

enums ×1

java ×1

jax-rs ×1

quarkus ×1