Skip to content

Commit 3e4e60f

Browse files
committed
DI qualifier fixup, setting storageMode=noop allows selection of no-op service
1 parent 4c9aa0b commit 3e4e60f

File tree

3 files changed

+19
-13
lines changed

3 files changed

+19
-13
lines changed

src/main/java/io/cryostat/recordings/BucketedArchivedRecordingMetadataService.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import jakarta.enterprise.context.ApplicationScoped;
3131
import jakarta.enterprise.event.Observes;
3232
import jakarta.inject.Inject;
33-
import jakarta.ws.rs.Produces;
3433
import org.eclipse.microprofile.config.inject.ConfigProperty;
3534
import org.jboss.logging.Logger;
3635
import software.amazon.awssdk.core.sync.RequestBody;
@@ -39,7 +38,6 @@
3938
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
4039
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
4140

42-
@Produces
4341
@ApplicationScoped
4442
@LookupIfProperty(
4543
name = ConfigProperties.ARCHIVED_RECORDINGS_METADATA_STORAGE_MODE,

src/main/java/io/cryostat/recordings/NoopArchivedRecordingMetadataService.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,17 @@
1818
import java.io.IOException;
1919
import java.util.Optional;
2020

21+
import io.cryostat.ConfigProperties;
2122
import io.cryostat.recordings.ActiveRecordings.Metadata;
2223

2324
import com.fasterxml.jackson.core.JsonProcessingException;
24-
import io.quarkus.arc.DefaultBean;
25+
import io.quarkus.arc.lookup.LookupIfProperty;
2526
import jakarta.enterprise.context.ApplicationScoped;
26-
import jakarta.ws.rs.Produces;
2727

28-
@Produces
2928
@ApplicationScoped
30-
@DefaultBean
29+
@LookupIfProperty(
30+
name = ConfigProperties.ARCHIVED_RECORDINGS_METADATA_STORAGE_MODE,
31+
stringValue = NoopArchivedRecordingMetadataService.METADATA_STORAGE_MODE_NOOP)
3132
/**
3233
* No-op implementation of {@link ArchivedRecordingMetadataService}. The default metadata storage
3334
* mode is 'tagging', which uses embedded object tags and is directly implemented within {@link
@@ -37,6 +38,8 @@
3738
*/
3839
class NoopArchivedRecordingMetadataService implements ArchivedRecordingMetadataService {
3940

41+
static final String METADATA_STORAGE_MODE_NOOP = "noop";
42+
4043
@Override
4144
public void create(String storageKey, Metadata metadata) throws JsonProcessingException {}
4245

src/main/java/io/cryostat/recordings/RecordingHelper.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@
9191
import io.vertx.mutiny.ext.web.multipart.MultipartForm;
9292
import jakarta.enterprise.context.ApplicationScoped;
9393
import jakarta.enterprise.event.Observes;
94+
import jakarta.enterprise.inject.Instance;
9495
import jakarta.inject.Inject;
9596
import jakarta.persistence.PersistenceException;
9697
import jakarta.transaction.Transactional;
@@ -166,7 +167,7 @@ public class RecordingHelper {
166167
@Inject TargetTemplateService.Factory targetTemplateServiceFactory;
167168
@Inject S3TemplateService customTemplateService;
168169
@Inject PresetTemplateService presetTemplateService;
169-
@Inject ArchivedRecordingMetadataService metadataService;
170+
@Inject Instance<ArchivedRecordingMetadataService> metadataService;
170171
@Inject Scheduler scheduler;
171172

172173
@Inject
@@ -835,8 +836,12 @@ public ArchivedRecording archiveRecording(ActiveRecording recording, String save
835836
if (useObjectTagging()) {
836837
builder = builder.tagging(createActiveRecordingTagging(recording));
837838
} else {
838-
metadataService.create(
839-
recording.target.jvmId, filename, createActiveRecordingMetadata(recording));
839+
metadataService
840+
.get()
841+
.create(
842+
recording.target.jvmId,
843+
filename,
844+
createActiveRecordingMetadata(recording));
840845
}
841846
CreateMultipartUploadRequest request = builder.build();
842847
multipartId = storage.createMultipartUpload(request).uploadId();
@@ -991,7 +996,7 @@ public Optional<Metadata> getArchivedRecordingMetadata(String storageKey) {
991996
.build())
992997
.tagSet()));
993998
}
994-
return metadataService.read(storageKey);
999+
return metadataService.get().read(storageKey);
9951000
} catch (NoSuchKeyException nske) {
9961001
logger.warn(nske);
9971002
return Optional.empty();
@@ -1135,7 +1140,7 @@ public void deleteArchivedRecording(String jvmId, String filename) {
11351140
}
11361141

11371142
if (!useObjectTagging()) {
1138-
metadataService.delete(jvmId, filename);
1143+
metadataService.get().delete(jvmId, filename);
11391144
}
11401145

11411146
var event =
@@ -1260,7 +1265,7 @@ public ArchivedRecording uploadArchivedRecording(
12601265
requestBuilder = requestBuilder.tagging(createMetadataTagging(new Metadata(labels)));
12611266
} else {
12621267
try {
1263-
metadataService.create(jvmId, filename, metadata);
1268+
metadataService.get().create(jvmId, filename, metadata);
12641269
} catch (JsonProcessingException jpe) {
12651270
throw new InternalServerErrorException(jpe);
12661271
}
@@ -1311,7 +1316,7 @@ public ArchivedRecording updateArchivedRecordingMetadata(
13111316
.build());
13121317
} else {
13131318
try {
1314-
metadataService.update(jvmId, filename, updatedMetadata);
1319+
metadataService.get().update(jvmId, filename, updatedMetadata);
13151320
} catch (JsonProcessingException e) {
13161321
throw new InternalServerErrorException(e);
13171322
}

0 commit comments

Comments
 (0)