-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HttpInput reopen/recycle cleanup #7284
Comments
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
…een recycle and reopen Signed-off-by: Ludovic Orban <lorban@bitronix.be>
…ntent is produced between recycle and reopen Signed-off-by: Ludovic Orban <lorban@bitronix.be>
It would be really great to have some documentation about |
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
@winne42 Besides the existing javadoc, there are these PlantUML diagrams that document the interactions between the three layers as well as the state transitions for the most important API calls: For async servlets: and for blocking servlets: Plus a summary of the That's pretty much all I can say succinctly on this subject, except that I would like to insist on the fact that you should not depend on any of this, except to satisfy your curiosity. I hope this helps. |
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
@lorban Thank you so much for the detailed explanation and the links! I can see that you consider this to be internal implementation details. As someone interested in Jetty interceptors I just need to understand when (the standard LMGTFY approach doesn't work - when googling "jetty interceptor" I get zero helpful hits on the first result page, but instead two extensive guides [1, 2] how to use interceptors in Jersey... :-D) |
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Jetty version(s)
10+
Description
HttpInput.recycle()
is an empty method.Interceptors are only destroyed when
HttpInput
is reopened, so their resources may linger around for a long time.It would be better to destroy interceptors ASAP in
recycle()
and reset the state inreopen()
.Also,
HttpInput.reopen()
callsAsyncContentProducer.recycle()
which is confusing.Consider having both
recycle()
andreopen()
inAsyncContentProducer
and forward fromHttpInput
.These 2 methods should be javadoc'ed to clarify when they are called and what actions they do.
The text was updated successfully, but these errors were encountered: