Skip to content

Commit fe333db

Browse files
authored
Merge pull request #31630 from loicmathieu/mongodb-objectid
Register ObjectId for reflection
2 parents 15730b4 + be15456 commit fe333db

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

extensions/mongodb-client/deployment/src/main/java/io/quarkus/mongodb/deployment/MongoClientProcessor.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,11 +161,13 @@ List<ReflectiveClassBuildItem> addExtensionPointsToNative(CodecProviderBuildItem
161161
reflectiveClassNames.addAll(commandListeners.getCommandListenerClassNames());
162162

163163
List<ReflectiveClassBuildItem> reflectiveClass = reflectiveClassNames.stream()
164-
.map(s -> new ReflectiveClassBuildItem(true, true, false, s))
164+
.map(s -> ReflectiveClassBuildItem.builder(s).methods(true).build())
165165
.collect(Collectors.toCollection(ArrayList::new));
166166
// ChangeStreamDocument needs to be registered for reflection with its fields.
167-
reflectiveClass.add(new ReflectiveClassBuildItem(true, true, true, ChangeStreamDocument.class.getName()));
168-
reflectiveClass.add(new ReflectiveClassBuildItem(true, true, false, UpdateDescription.class.getName()));
167+
reflectiveClass.add(ReflectiveClassBuildItem.builder(ChangeStreamDocument.class).methods(true).fields(true).build());
168+
reflectiveClass.add(ReflectiveClassBuildItem.builder(UpdateDescription.class).methods(true).build());
169+
// ObjectId is often used on identifier, so we also register it
170+
reflectiveClass.add(ReflectiveClassBuildItem.builder(ObjectId.class).methods(true).fields(true).build());
169171
return reflectiveClass;
170172
}
171173

extensions/panache/mongodb-panache-common/deployment/src/main/java/io/quarkus/mongodb/panache/deployment/BasePanacheMongoResourceProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ protected void processEntities(CombinedIndexBuildItem index,
279279
transformers.produce(new BytecodeTransformerBuildItem(modelClass, entityEnhancer));
280280

281281
//register for reflection entity classes
282-
reflectiveClass.produce(new ReflectiveClassBuildItem(true, true, modelClass));
282+
reflectiveClass.produce(ReflectiveClassBuildItem.builder(modelClass).fields(true).methods(true).build());
283283

284284
// Register for building the property mapping cache
285285
propertyMappingClass.produce(new PropertyMappingClassBuildStep(modelClass));

0 commit comments

Comments
 (0)