-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a MongoDB client extension #3022
Add a MongoDB client extension #3022
Conversation
6de4de9
to
8c5145c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I made a big review of the documentation part, NOT the code.
I think we should try to be consistent about the MongoDB naming but I let you decide what you prefer.
core/deployment/src/main/java/io/quarkus/deployment/builditem/FeatureBuildItem.java
Outdated
Show resolved
Hide resolved
Ok, I believe we reached a milestone. I'm going to re-organized my commits and ask for a review. |
9929df5
to
40cf523
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added another round of comments.
I still think there are too many commits. Typically ac046f2 should be squashed as it really has no value.
...ongo-client/deployment/src/main/java/io/quarkus/mongo/deployment/CodecProviderBuildItem.java
Outdated
Show resolved
Hide resolved
.../mongo-client/deployment/src/main/java/io/quarkus/mongo/deployment/MongoClientProcessor.java
Outdated
Show resolved
Hide resolved
.../mongo-client/deployment/src/main/java/io/quarkus/mongo/deployment/MongoClientProcessor.java
Outdated
Show resolved
Hide resolved
extensions/mongo-client/runtime/src/main/java/io/quarkus/mongo/runtime/MongoClientTemplate.java
Outdated
Show resolved
Hide resolved
.../mongo-client/deployment/src/main/java/io/quarkus/mongo/deployment/MongoClientProcessor.java
Outdated
Show resolved
Hide resolved
84d183c
to
589ddc1
Compare
I've reduced the number of commits. |
@cescoffier could you rebase, there are some conflicts with the pom files. It should be simple enough to fix. |
@@ -0,0 +1,290 @@ | |||
package io.quarkus.mongodb.impl; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The convention until now was to have the impl classes in the runtime
package so it should be io.quarkus.mongodb.runtime
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This module exposes an API, it would be weird to be in a runtime
quarkus-specific structure. That being said, for implementation, I don't see an issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, this is the convention we decided. I wanted impl/spi packages but got ruled out.
So right now, the conventions we have are:
io.quarkus.<extension>
: the potential runtime API
io.quarkus.<extension>.runtime
: everything that is not API (you can have an impl
subpackage here if you want)
io.quarkus.<extension>.deployment
: everything from the deployment artifact
Rebase done. |
…and feature coverage in native mode. Inject both reactive and imperative client Extend configuration support for both the imperative and reactive clients Add an integration test for the reactive client Fix credential and write concern configuration Remove the new for having quarkus-reactive-streams-operators as a dependency of projects using the mongo client Re-inject the client so it get the new config Close the client during the hot reload so we don't have a connection shortage Register SSL support if not explicitly disabled Provide a substitution for the DNS lookup. However it won't work until Substrate provide a non-blocking multicast implementation. Declare the mongo version and the mongo extension in the bom.
Fix integration tests It works better when you start the database, weird, isn't it? Also align with the embedded mongo used in the runtime tests
Also, the number of databases created by default differs on Mac and Linux. So, reduce the number of documents as on Windows the number of connection is limited to 500.
Co-Authored-By: Guillaume Smet <guillaume.smet@gmail.com>
This includes: * module rename (artifactId, name...) * package rename * directory rename Use duration instead of time in milliseconds. Rename MongoDB directories, artifactIds, project name and package name Replace SLF4J with JBoss Logging
a0bd6cf
to
0f9a0a9
Compare
I properly rebased to avoid the merge commit as it makes the history harder to read and adjusted a few things. I will wait for CI and merge. |
Thanks, just noticed that quarkus-quickstarts are broken due to missing quarkus-mongodb-client dependency for using-mongodb-client qs |
@rsvoboda yes, I'm waiting for CI before merging this one. |
And merged! Thanks @cescoffier and @loicmathieu ! |
This is the first version of the Mongo extension.
It:
mongo+srv://
in native mode (SVM limitation)