Skip to content

Commit 9cf28ad

Browse files
Workaround NoClassDefFoundError in @PreDestroy waiting for MNG-7056 (#1431)
1 parent fa217e5 commit 9cf28ad

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

maven-extension/src/main/java/io/opentelemetry/maven/OtelLifecycleParticipant.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ public final class OtelLifecycleParticipant extends AbstractMavenLifecyclePartic
2121

2222
private static final Logger logger = LoggerFactory.getLogger(OtelLifecycleParticipant.class);
2323

24+
private final OpenTelemetrySdkService openTelemetrySdkService;
25+
2426
private final OtelExecutionListener otelExecutionListener;
2527

2628
/**
@@ -30,6 +32,7 @@ public final class OtelLifecycleParticipant extends AbstractMavenLifecyclePartic
3032
@Inject
3133
OtelLifecycleParticipant(
3234
OpenTelemetrySdkService openTelemetrySdkService, SpanRegistry spanRegistry) {
35+
this.openTelemetrySdkService = openTelemetrySdkService;
3336
this.otelExecutionListener = new OtelExecutionListener(spanRegistry, openTelemetrySdkService);
3437
}
3538

@@ -56,8 +59,16 @@ public void afterProjectsRead(MavenSession session) {
5659
.setExecutionListener(
5760
new ChainedExecutionListener(this.otelExecutionListener, initialExecutionListener));
5861
logger.debug(
59-
"OpenTelemetry: OpenTelemetry extension registered as execution listener. InitialExecutionListener: "
60-
+ initialExecutionListener);
62+
"OpenTelemetry: OpenTelemetry extension registered as execution listener. InitialExecutionListener: {}",
63+
initialExecutionListener);
6164
}
6265
}
66+
67+
@Override
68+
public void afterSessionEnd(MavenSession session) {
69+
// Workaround https://issues.apache.org/jira/browse/MNG-8217
70+
// close OpenTelemetry SDK in `afterSessionEnd()`
71+
logger.debug("OpenTelemetry: After Maven session end, close OpenTelemetry SDK");
72+
openTelemetrySdkService.close();
73+
}
6374
}

0 commit comments

Comments
 (0)