내가 Payara (162) 내 유니폼이 응용 프로그램을 디버깅하려고 원인이 있지만 추적 정보가 인쇄 된 후 모든 요청에,이 예외가 클라이언트는 응답 얻을 수 없습니다 :활성화 저지 추적 로깅은 MaxHeaderCountExceededException
org.glassfish.grizzly.http.util.MimeHeaders$MaxHeaderCountExceededException: Illegal attempt to exceed the configured maximum number of headers: 100
at org.glassfish.grizzly.http.util.MimeHeaders.createHeader(MimeHeaders.java:396)
at org.glassfish.grizzly.http.util.MimeHeaders.addValue(MimeHeaders.java:422)
at org.glassfish.grizzly.http.HttpHeader.addHeader(HttpHeader.java:707)
at org.glassfish.grizzly.http.server.Response.addHeader(Response.java:1177)
at org.apache.catalina.connector.Response.addHeader(Response.java:1221)
at org.apache.catalina.connector.ResponseFacade.addHeader(ResponseFacade.java:579)
at org.glassfish.jersey.servlet.internal.ResponseWriter.writeResponseStatusAndHeaders(ResponseWriter.java:165)
at org.glassfish.jersey.server.ServerRuntime$Responder$1.getOutputStream(ServerRuntime.java:701)
at org.glassfish.jersey.message.internal.CommittingOutputStream.commitStream(CommittingOutputStream.java:200)
at org.glassfish.jersey.message.internal.CommittingOutputStream.flushBuffer(CommittingOutputStream.java:305)
at org.glassfish.jersey.message.internal.CommittingOutputStream.commit(CommittingOutputStream.java:261)
at org.glassfish.jersey.message.internal.CommittingOutputStream.close(CommittingOutputStream.java:276)
at org.glassfish.jersey.message.internal.OutboundMessageContext.close(OutboundMessageContext.java:839)
at org.glassfish.jersey.server.ContainerResponse.close(ContainerResponse.java:412)
at org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:784)
at org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:444)
at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:434)
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:329)
을 내 뉴저지에서
가 나는 그래서 추적 구성되는 앱 :
public class RestApplication extends ResourceConfig {
public RestApplication() {
super();
packages(true, "com.example");
register(JacksonFeature.class);
register(JsonProvider.class);
register(RolesAllowedDynamicFeature.class);
property("jersey.config.server.tracing.type", "ON_DEMAND");
property("jersey.config.server.tracing.threshold", "VERBOSE");
}
} 내 logback.xml에서 로거를 활성화
을 (내가 logback를 사용하는 Payara를 구성한), 내 요청에 X-Jersey-Tracing-Accept
헤더를 추가하여 필요에 따라 활성화 할 때 내 서버 로그에 전체 추적 정보가 표시되지만 예외가 발생합니다. 요청에 헤더를 추가하지 않으면 모든 것이 작동하지만 물론 추적을 얻지 못합니다.
이 문제를 해결하기 위해 변경할 수있는 것이 있는지 또는 버그인지 궁금합니다.
감사합니다 @OndrejM, 나는 그것을 시도 할 것입니다. 비록 헤더의 수가 단일 숫자로되어 있으므로, 1을 더하면 100에 가깝지 않을 것입니다. –
예! 작동했습니다! 나는 당신의 대답을 오해했는데, 당신이 응답에 하나의 헤더를 추가 할 것이라는 것을 의미한다고 생각했지만 실제로는 "많은 이벤트"당 하나의 헤더가 추가되었습니다. 그것이 100 개가 넘는 이유입니다. 감사합니다! –