![](/img/trans.png)
[英]Apache CXF LoggingInInterceptor is deprecated - what to use instead?
[英]LoggingInInterceptor in Apache CXF
我必须在拦截器级别编写一个CustomLogger,并且我指的是Apache CXF中的LoggingInInterceptor代码。 我在代码中看到,它首先是从消息中获取输入流,然后再将其设置回消息中。
请参考以下代码和url:
// restore the delegating input stream or the input stream
if (is instanceof DelegatingInputStream) {
((DelegatingInputStream)is).setInputStream(bis);
} else {
**message.setContent(InputStream.class, bis);**
}
即使我们在这里不更改输入流,也可以让我知道为什么这样做的原因。 如果给出相同的详细描述,将非常有帮助。
输入流实际上已更改。 日志记录将“消耗”其字节,然后将流设置为结束。 这使得它不能用于后续的消息处理程序。 因此,拦截器首先复制字节以将其保留在内存中,然后在新的输入流中使用它们,并为后续的拦截器提供另一个新的输入流的访问权限(这对于实际的http输入流是不可能的,但对于内存中的字节而言)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.