Skip to content

Commit 969d851

Browse files
radovanradicdstepanovgraemerochermicronaut-build
authored
Merge 4.11.x into 4.12.x (#3358)
* Require sync mongo for `MongoConnectionOperationsImpl` * Repositories referencing classes that are not yet generated fail compilation (#3350) * fix repositories broken when referencing generated classes * include ElementPostponedToNextRoundException * [skip ci] Release v4.11.2 * chore: Bump version to 4.11.3-SNAPSHOT --------- Co-authored-by: Denis Stepanov <[email protected]> Co-authored-by: Graeme Rocher <[email protected]> Co-authored-by: micronaut-build <[email protected]>
1 parent 366cc85 commit 969d851

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

Diff for: data-mongodb/src/main/java/io/micronaut/data/mongodb/session/MongoConnectionOperationsImpl.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
import io.micronaut.data.connection.ConnectionDefinition;
2323
import io.micronaut.data.connection.ConnectionStatus;
2424
import io.micronaut.data.connection.support.AbstractConnectionOperations;
25+
import io.micronaut.data.mongodb.conf.RequiresSyncMongo;
2526

26-
@Internal
27+
@RequiresSyncMongo
2728
@EachBean(MongoClient.class)
29+
@Internal
2830
final class MongoConnectionOperationsImpl extends AbstractConnectionOperations<ClientSession> implements MongoConnectionOperations {
2931

3032
private final MongoClient mongoClient;
@@ -40,9 +42,6 @@ protected ClientSession openConnection(ConnectionDefinition definition) {
4042

4143
@Override
4244
protected void setupConnection(ConnectionStatus<ClientSession> connectionStatus) {
43-
// if (connectionStatus.getDefinition().isP) {
44-
// throw new ConnectionException("MongoDB client doesn't support read only client session!");
45-
// }
4645
}
4746

4847
@Override

Diff for: data-processor/src/main/java/io/micronaut/data/processor/visitors/RepositoryTypeElementVisitor.java

+6
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
import io.micronaut.inject.ast.ParameterElement;
7474
import io.micronaut.inject.ast.TypedElement;
7575
import io.micronaut.inject.processing.ProcessingException;
76+
import io.micronaut.inject.visitor.ElementPostponedToNextRoundException;
7677
import io.micronaut.inject.visitor.TypeElementVisitor;
7778
import io.micronaut.inject.visitor.VisitorContext;
7879

@@ -321,6 +322,11 @@ public void visitMethod(MethodElement element, VisitorContext context) {
321322
context.fail(matchContext.getUnableToImplementMessage() + e.getMessage(), e.getElement() == null ? element : e.getElement());
322323
this.failing = true;
323324
} catch (Exception e) {
325+
if (e instanceof ElementPostponedToNextRoundException || e.getClass().getSimpleName().equals("PostponeToNextRoundException")) {
326+
// rethrow postponed and don't fail compilation
327+
// this is not ideal since PostponeToNextRoundException is part of inject-java
328+
throw e;
329+
}
324330
matchContext.fail(e.getMessage());
325331
this.failing = true;
326332
}

0 commit comments

Comments
 (0)