Skip to content

Commit 51b4051

Browse files
authored
Fix warning about setting VirtualField supplier twice (#12584)
1 parent 0c2d504 commit 51b4051

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentInstaller.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ private static void installEarlyInstrumentation(
224224
(builder, typeDescription, classLoader, module, protectionDomain) -> builder);
225225

226226
VirtualFieldImplementationInstallerFactory virtualFieldInstallerFactory =
227-
new VirtualFieldImplementationInstallerFactory();
227+
VirtualFieldImplementationInstallerFactory.getInstance();
228228
for (EarlyInstrumentationModule earlyInstrumentationModule :
229229
loadOrdered(EarlyInstrumentationModule.class, Utils.getExtensionsClassLoader())) {
230230

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/field/VirtualFieldImplementationInstallerFactory.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,17 @@ public final class VirtualFieldImplementationInstallerFactory {
1818

1919
private static final TransformSafeLogger logger =
2020
TransformSafeLogger.getLogger(VirtualFieldImplementationInstallerFactory.class);
21+
private static final VirtualFieldImplementationInstallerFactory INSTANCE =
22+
new VirtualFieldImplementationInstallerFactory();
2123

22-
public VirtualFieldImplementationInstallerFactory() {
24+
private VirtualFieldImplementationInstallerFactory() {
2325
RuntimeVirtualFieldSupplier.set(new RuntimeFieldBasedImplementationSupplier());
2426
}
2527

28+
public static VirtualFieldImplementationInstallerFactory getInstance() {
29+
return INSTANCE;
30+
}
31+
2632
public VirtualFieldImplementationInstaller create(InstrumentationModule instrumentationModule) {
2733
VirtualFieldMappingsBuilderImpl builder = new VirtualFieldMappingsBuilderImpl();
2834
if (instrumentationModule instanceof InstrumentationModuleMuzzle) {

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/InstrumentationModuleInstaller.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public final class InstrumentationModuleInstaller {
5454

5555
private final Instrumentation instrumentation;
5656
private final VirtualFieldImplementationInstallerFactory virtualFieldInstallerFactory =
57-
new VirtualFieldImplementationInstallerFactory();
57+
VirtualFieldImplementationInstallerFactory.getInstance();
5858

5959
public InstrumentationModuleInstaller(Instrumentation instrumentation) {
6060
this.instrumentation = instrumentation;

0 commit comments

Comments
 (0)