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
|
@Override
|
||||||
public void onStartAsync(final AsyncEvent event) throws IOException {
|
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 {
|
||||||
//class JettyServlet3TestDispatchAsync extends JettyDispatchTest {
|
@Override
|
||||||
// @Override
|
Class<Servlet> servlet() {
|
||||||
// Class<Servlet> servlet() {
|
TestServlet3.Async
|
||||||
// TestServlet3.Async
|
}
|
||||||
// }
|
|
||||||
//
|
@Override
|
||||||
// @Override
|
protected void setupServlets(ServletContextHandler context) {
|
||||||
// protected void setupServlets(ServletContextHandler context) {
|
super.setupServlets(context)
|
||||||
// super.setupServlets(context)
|
|
||||||
//
|
addServlet(context, "/dispatch" + SUCCESS.path, TestServlet3.DispatchAsync)
|
||||||
// addServlet(context, "/dispatch" + SUCCESS.path, TestServlet3.DispatchAsync)
|
addServlet(context, "/dispatch" + ERROR.path, TestServlet3.DispatchAsync)
|
||||||
// addServlet(context, "/dispatch" + ERROR.path, TestServlet3.DispatchAsync)
|
addServlet(context, "/dispatch" + EXCEPTION.path, TestServlet3.DispatchAsync)
|
||||||
// addServlet(context, "/dispatch" + EXCEPTION.path, TestServlet3.DispatchAsync)
|
addServlet(context, "/dispatch" + REDIRECT.path, TestServlet3.DispatchAsync)
|
||||||
// addServlet(context, "/dispatch" + REDIRECT.path, TestServlet3.DispatchAsync)
|
addServlet(context, "/dispatch" + AUTH_REQUIRED.path, TestServlet3.DispatchAsync)
|
||||||
// addServlet(context, "/dispatch" + AUTH_REQUIRED.path, TestServlet3.DispatchAsync)
|
addServlet(context, "/dispatch/recursive", TestServlet3.DispatchRecursive)
|
||||||
// addServlet(context, "/dispatch/recursive", TestServlet3.DispatchRecursive)
|
}
|
||||||
// }
|
}
|
||||||
//}
|
|
||||||
|
|
||||||
abstract class JettyDispatchTest extends JettyServlet3Test {
|
abstract class JettyDispatchTest extends JettyServlet3Test {
|
||||||
@Override
|
@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 {
|
||||||
//class TomcatServlet3TestDispatchAsync extends TomcatDispatchTest {
|
@Override
|
||||||
// @Override
|
Class<Servlet> servlet() {
|
||||||
// Class<Servlet> servlet() {
|
TestServlet3.Async
|
||||||
// TestServlet3.Async
|
}
|
||||||
// }
|
|
||||||
//
|
@Override
|
||||||
// @Override
|
protected void setupServlets(Context context) {
|
||||||
// protected void setupServlets(Context context) {
|
super.setupServlets(context)
|
||||||
// super.setupServlets(context)
|
|
||||||
//
|
addServlet(context, "/dispatch" + SUCCESS.path, TestServlet3.DispatchAsync)
|
||||||
// addServlet(context, "/dispatch" + SUCCESS.path, TestServlet3.DispatchAsync)
|
addServlet(context, "/dispatch" + ERROR.path, TestServlet3.DispatchAsync)
|
||||||
// addServlet(context, "/dispatch" + ERROR.path, TestServlet3.DispatchAsync)
|
addServlet(context, "/dispatch" + EXCEPTION.path, TestServlet3.DispatchAsync)
|
||||||
// addServlet(context, "/dispatch" + EXCEPTION.path, TestServlet3.DispatchAsync)
|
addServlet(context, "/dispatch" + REDIRECT.path, TestServlet3.DispatchAsync)
|
||||||
// addServlet(context, "/dispatch" + REDIRECT.path, TestServlet3.DispatchAsync)
|
addServlet(context, "/dispatch" + AUTH_REQUIRED.path, TestServlet3.DispatchAsync)
|
||||||
// addServlet(context, "/dispatch" + AUTH_REQUIRED.path, TestServlet3.DispatchAsync)
|
addServlet(context, "/dispatch/recursive", TestServlet3.DispatchRecursive)
|
||||||
// addServlet(context, "/dispatch/recursive", TestServlet3.DispatchRecursive)
|
}
|
||||||
// }
|
}
|
||||||
//}
|
|
||||||
|
|
||||||
abstract class TomcatDispatchTest extends TomcatServlet3Test {
|
abstract class TomcatDispatchTest extends TomcatServlet3Test {
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue