Skip to content

Commit a45cefb

Browse files
authored
Merge pull request quarkusio#36235 from loicmathieu/mongodb-uuid-representation
Allow configuring MongoDB client UUID representation
2 parents 288e2d8 + 74f8b11 commit a45cefb

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

extensions/mongodb-client/runtime/src/main/java/io/quarkus/mongodb/runtime/MongoClientConfig.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import java.util.Optional;
66
import java.util.OptionalInt;
77

8+
import org.bson.UuidRepresentation;
9+
810
import io.quarkus.runtime.annotations.ConfigDocSection;
911
import io.quarkus.runtime.annotations.ConfigGroup;
1012
import io.quarkus.runtime.annotations.ConfigItem;
@@ -197,4 +199,10 @@ public class MongoClientConfig {
197199
@ConfigItem(name = "health.database", defaultValue = "admin")
198200
public String healthDatabase;
199201

202+
/**
203+
* Configures the UUID representation to use when encoding instances of {@link java.util.UUID}
204+
* and when decoding BSON binary values with subtype of 3.
205+
*/
206+
@ConfigItem
207+
public Optional<UuidRepresentation> uuidRepresentation;
200208
}

extensions/mongodb-client/runtime/src/main/java/io/quarkus/mongodb/runtime/MongoClients.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,10 @@ private MongoClientSettings createMongoConfiguration(MongoClientConfig config) {
322322
settings.readConcern(new ReadConcern(ReadConcernLevel.fromString(config.readConcern.get())));
323323
}
324324

325+
if (config.uuidRepresentation.isPresent()) {
326+
settings.uuidRepresentation(config.uuidRepresentation.get());
327+
}
328+
325329
return settings.build();
326330
}
327331

0 commit comments

Comments
 (0)