|
7 | 7 |
|
8 | 8 | import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed; |
9 | 9 | import static io.opentelemetry.javaagent.instrumentation.spring.ws.v2_0.SpringWsSingletons.instrumenter; |
| 10 | +import static java.util.Objects.requireNonNull; |
10 | 11 | import static net.bytebuddy.matcher.ElementMatchers.declaresMethod; |
11 | 12 | import static net.bytebuddy.matcher.ElementMatchers.isAnnotatedWith; |
12 | 13 | import static net.bytebuddy.matcher.ElementMatchers.isMethod; |
@@ -53,12 +54,12 @@ public static class AnnotatedMethodAdvice { |
53 | 54 |
|
54 | 55 | public static class AdviceScope { |
55 | 56 | private final CallDepth callDepth; |
56 | | - private final SpringWsRequest request; |
57 | | - private final Context context; |
58 | | - private final Scope scope; |
| 57 | + @Nullable private final SpringWsRequest request; |
| 58 | + @Nullable private final Context context; |
| 59 | + @Nullable private final Scope scope; |
59 | 60 |
|
60 | 61 | private AdviceScope( |
61 | | - CallDepth callDepth, SpringWsRequest request, Context context, Scope scope) { |
| 62 | + CallDepth callDepth, @Nullable SpringWsRequest request, @Nullable Context context, @Nullable Scope scope) { |
62 | 63 | this.callDepth = callDepth; |
63 | 64 | this.request = request; |
64 | 65 | this.context = context; |
@@ -88,7 +89,8 @@ public void exit(@Nullable Throwable throwable) { |
88 | 89 | return; |
89 | 90 | } |
90 | 91 | scope.close(); |
91 | | - instrumenter().end(context, request, null, throwable); |
| 92 | + // scope non-null implies context and request are both non-null (see enter method above) |
| 93 | + instrumenter().end(requireNonNull(context), requireNonNull(request), null, throwable); |
92 | 94 | } |
93 | 95 | } |
94 | 96 |
|
|
0 commit comments