Copy servlet listener over to new context on dispatch.
This allows it to finish the span with the correct response.
This commit is contained in:
parent
c3203dace8
commit
d6b903665e
|
@ -58,9 +58,9 @@ public class TagSettingAsyncListener implements AsyncListener {
|
|||
}
|
||||
}
|
||||
|
||||
/** Finish current span on dispatch. New listener will be attached by Servlet3Advice */
|
||||
/** Transfer the listener over to the new context. */
|
||||
@Override
|
||||
public void onStartAsync(final AsyncEvent event) throws IOException {
|
||||
onComplete(event);
|
||||
event.getAsyncContext().addListener(this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -137,25 +137,24 @@ class JettyServlet3TestDispatchImmediate extends JettyDispatchTest {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: Behavior in this test is pretty inconsistent with expectations. Fix and reenable.
|
||||
//class JettyServlet3TestDispatchAsync extends JettyDispatchTest {
|
||||
// @Override
|
||||
// Class<Servlet> servlet() {
|
||||
// TestServlet3.Async
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// protected void setupServlets(ServletContextHandler context) {
|
||||
// super.setupServlets(context)
|
||||
//
|
||||
// addServlet(context, "/dispatch" + SUCCESS.path, TestServlet3.DispatchAsync)
|
||||
// addServlet(context, "/dispatch" + ERROR.path, TestServlet3.DispatchAsync)
|
||||
// addServlet(context, "/dispatch" + EXCEPTION.path, TestServlet3.DispatchAsync)
|
||||
// addServlet(context, "/dispatch" + REDIRECT.path, TestServlet3.DispatchAsync)
|
||||
// addServlet(context, "/dispatch" + AUTH_REQUIRED.path, TestServlet3.DispatchAsync)
|
||||
// addServlet(context, "/dispatch/recursive", TestServlet3.DispatchRecursive)
|
||||
// }
|
||||
//}
|
||||
class JettyServlet3TestDispatchAsync extends JettyDispatchTest {
|
||||
@Override
|
||||
Class<Servlet> servlet() {
|
||||
TestServlet3.Async
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setupServlets(ServletContextHandler context) {
|
||||
super.setupServlets(context)
|
||||
|
||||
addServlet(context, "/dispatch" + SUCCESS.path, TestServlet3.DispatchAsync)
|
||||
addServlet(context, "/dispatch" + ERROR.path, TestServlet3.DispatchAsync)
|
||||
addServlet(context, "/dispatch" + EXCEPTION.path, TestServlet3.DispatchAsync)
|
||||
addServlet(context, "/dispatch" + REDIRECT.path, TestServlet3.DispatchAsync)
|
||||
addServlet(context, "/dispatch" + AUTH_REQUIRED.path, TestServlet3.DispatchAsync)
|
||||
addServlet(context, "/dispatch/recursive", TestServlet3.DispatchRecursive)
|
||||
}
|
||||
}
|
||||
|
||||
abstract class JettyDispatchTest extends JettyServlet3Test {
|
||||
@Override
|
||||
|
|
|
@ -178,25 +178,24 @@ class TomcatServlet3TestDispatchImmediate extends TomcatDispatchTest {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: Behavior in this test is pretty inconsistent with expectations. Fix and reenable.
|
||||
//class TomcatServlet3TestDispatchAsync extends TomcatDispatchTest {
|
||||
// @Override
|
||||
// Class<Servlet> servlet() {
|
||||
// TestServlet3.Async
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// protected void setupServlets(Context context) {
|
||||
// super.setupServlets(context)
|
||||
//
|
||||
// addServlet(context, "/dispatch" + SUCCESS.path, TestServlet3.DispatchAsync)
|
||||
// addServlet(context, "/dispatch" + ERROR.path, TestServlet3.DispatchAsync)
|
||||
// addServlet(context, "/dispatch" + EXCEPTION.path, TestServlet3.DispatchAsync)
|
||||
// addServlet(context, "/dispatch" + REDIRECT.path, TestServlet3.DispatchAsync)
|
||||
// addServlet(context, "/dispatch" + AUTH_REQUIRED.path, TestServlet3.DispatchAsync)
|
||||
// addServlet(context, "/dispatch/recursive", TestServlet3.DispatchRecursive)
|
||||
// }
|
||||
//}
|
||||
class TomcatServlet3TestDispatchAsync extends TomcatDispatchTest {
|
||||
@Override
|
||||
Class<Servlet> servlet() {
|
||||
TestServlet3.Async
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setupServlets(Context context) {
|
||||
super.setupServlets(context)
|
||||
|
||||
addServlet(context, "/dispatch" + SUCCESS.path, TestServlet3.DispatchAsync)
|
||||
addServlet(context, "/dispatch" + ERROR.path, TestServlet3.DispatchAsync)
|
||||
addServlet(context, "/dispatch" + EXCEPTION.path, TestServlet3.DispatchAsync)
|
||||
addServlet(context, "/dispatch" + REDIRECT.path, TestServlet3.DispatchAsync)
|
||||
addServlet(context, "/dispatch" + AUTH_REQUIRED.path, TestServlet3.DispatchAsync)
|
||||
addServlet(context, "/dispatch/recursive", TestServlet3.DispatchRecursive)
|
||||
}
|
||||
}
|
||||
|
||||
abstract class TomcatDispatchTest extends TomcatServlet3Test {
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue