smallrye / smallrye-mutiny-vertx-bindings

Smallrye Mutiny bindings for Eclipse Vert.x
https://smallrye.io/smallrye-mutiny-vertx-bindings
Apache License 2.0
82 stars 25 forks source link

smallrye-mutiny-vertx-bindings of io.vertx:vertx-web-openapi-router #920

Open tnmtechnologies opened 5 months ago

tnmtechnologies commented 5 months ago

Is it planned to provide smallrye-mutiny-vertx-bindings of io.vertx:vertx-web-openapi-router ?

https://vertx.io/docs/vertx-web-openapi-router/java/

Thanks.

jponge commented 5 months ago

Which parts of the API would need to be Uni/Multi returning?

tnmtechnologies commented 5 months ago

Sorry I don't know. Today, our software is fully based on io.smallrye.reactive:smallrye-mutiny-vertx-web-openapi. We plan to use the smallrye-mutiny-vertx-bindings of io.vertx:vertx-web-openapi-router when it is available because of https://github.com/vert-x3/vertx-web/issues/2383#issuecomment-1953720933. Hope my reply will help you.

pk-work commented 4 months ago

Hi, I opened a PR https://github.com/smallrye/smallrye-mutiny-vertx-bindings/pull/926

AdrianVasiliu commented 3 months ago

Given the revert via https://github.com/smallrye/smallrye-mutiny-vertx-bindings/pull/930, the fix isn't available in v4.5.8. We face the issue https://github.com/vert-x3/vertx-web/issues/2383, that this was supposed to resolve. An ETA for the fix? Thanks.

cescoffier commented 3 months ago

This will be done when we start updating Quarkus to the latest Vert.x. It should happen next week.

cescoffier commented 3 months ago

Unfortunately, even with the update it does not go well:

[ERROR] /Users/clement/Development/smallrye/smallrye-mutiny-vertx-bindings/vertx-mutiny-clients/vertx-mutiny-openapi/target/generated-sources/apt/io/vertx/mutiny/openapi/contract/OpenAPIContract.java:[82,53] non-static variable delegate cannot be referenced from a static context
[ERROR] /Users/clement/Development/smallrye/smallrye-mutiny-vertx-bindings/vertx-mutiny-clients/vertx-mutiny-openapi/target/generated-sources/apt/io/vertx/mutiny/openapi/contract/OpenAPIContract.java:[82,66] illegal static interface method call
[ERROR]   the receiver expression should be replaced with the type qualifier 'io.vertx.openapi.contract.OpenAPIContract'
[ERROR] /Users/clement/Development/smallrye/smallrye-mutiny-vertx-bindings/vertx-mutiny-clients/vertx-mutiny-openapi/target/generated-sources/apt/io/vertx/mutiny/openapi/contract/OpenAPIContract.java:[122,53] non-static variable delegate cannot be referenced from a static context
[ERROR] /Users/clement/Development/smallrye/smallrye-mutiny-vertx-bindings/vertx-mutiny-clients/vertx-mutiny-openapi/target/generated-sources/apt/io/vertx/mutiny/openapi/contract/OpenAPIContract.java:[122,66] illegal static interface method call
[ERROR]   the receiver expression should be replaced with the type qualifier 'io.vertx.openapi.contract.OpenAPIContract'
[ERROR] /Users/clement/Development/smallrye/smallrye-mutiny-vertx-bindings/vertx-mutiny-clients/vertx-mutiny-openapi/target/generated-sources/apt/io/vertx/mutiny/openapi/contract/OpenAPIContract.java:[166,53] non-static variable delegate cannot be referenced from a static context
[ERROR] /Users/clement/Development/smallrye/smallrye-mutiny-vertx-bindings/vertx-mutiny-clients/vertx-mutiny-openapi/target/generated-sources/apt/io/vertx/mutiny/openapi/contract/OpenAPIContract.java:[166,66] illegal static interface method call
[ERROR]   the receiver expression should be replaced with the type qualifier 'io.vertx.openapi.contract.OpenAPIContract'
[ERROR] /Users/clement/Development/smallrye/smallrye-mutiny-vertx-bindings/vertx-mutiny-clients/vertx-mutiny-openapi/target/generated-sources/apt/io/vertx/mutiny/openapi/contract/OpenAPIContract.java:[212,53] non-static variable delegate cannot be referenced from a static context
[ERROR] /Users/clement/Development/smallrye/smallrye-mutiny-vertx-bindings/vertx-mutiny-clients/vertx-mutiny-openapi/target/generated-sources/apt/io/vertx/mutiny/openapi/contract/OpenAPIContract.java:[212,66] illegal static interface method call
[ERROR]   the receiver expression should be replaced with the type qualifier 'io.vertx.openapi.contract.OpenAPIContract'
[ERROR] /Users/clement/Development/smallrye/smallrye-mutiny-vertx-bindings/vertx-mutiny-clients/vertx-mutiny-openapi/target/generated-sources/apt/io/vertx/mutiny/openapi/validation/ValidatableRequest.java:[73,53] non-static variable delegate cannot be referenced from a static context
[ERROR] /Users/clement/Development/smallrye/smallrye-mutiny-vertx-bindings/vertx-mutiny-clients/vertx-mutiny-openapi/target/generated-sources/apt/io/vertx/mutiny/openapi/validation/ValidatableRequest.java:[73,64] illegal static interface method call
[ERROR]   the receiver expression should be replaced with the type qualifier 'io.vertx.openapi.validation.ValidatableRequest'
[ERROR] -> [Help 1]
pk-work commented 3 months ago

Can I check it out and test it locally?

cescoffier commented 3 months ago

Sure, just take the main branch and readd the modules. Do a mvn install -DskipTests (there are no tests in these modules) and you will see the compilation issue.

AdrianVasiliu commented 2 months ago

@cescoffier @pk-work Our Vertx apps are annoyingly impacted by this bug. Any hope the issue would be resolved in the near future? And: waiting for the fix, a workaround?

cescoffier commented 2 months ago

The added modules aren't functional yet. The generation fails and I don't know the root cause. The upstream code may not follow the generation rules (I already reported issues). Unfortunately, it means fixing it in Vertx, wait for a release, then test here, repeat...

pk-work commented 2 months ago

@AdrianVasiliu Hi, sorry for the inconvenience. Due to private circumstances I wasn't able to spent much time into my opensource activities and I don't know when this will change. Maybe 2 weeks, maybe a month. I don't know.

If this is only a smaller issue with e.g. visibility of classes / methods and really important for you, please open a PR in vertx-openapi and/or vertx-web and I will review it.

AdrianVasiliu commented 2 months ago

Hi @pk-work, thanks for the feedback. I follow this issue because we were following https://github.com/vert-x3/vertx-web/issues/2383 which has been closed with the PR reverted due to this issue (if I got well your comment there). I don't have the big picture in my hands. In the end, for our app, it's about being able to upgrade to a Vertx version where io.vertx.core.VertxException: Thread blocked doesn't hurt any more...

@cescoffier Thanks for your info too. Well, it looks we'll need to look for workarounds / changes on our side to avoid being hit by the bug.