使用MongoDB(泛型)运行Quarkus应用程序会在启动时显示警告,例如:
WARN [io.qua.mon.run.MongoClients] (main) Unable to load the property codec provider class org.bson.codecs.pojo.EnumPropertyCodecProvider: java.lang.NoSuchMethodException: org.bson.codecs.pojo.EnumPropertyCodecProvider.<init>()
at java.base/java.lang.Class.getConstructor0(Class.java:3349)
at java.base/java.lang.Class.getConstructor(Class.java:2151)
at io.quarkus.mongodb.runtime.MongoClients.getPropertyCodecProviders(MongoClients.java:440)
at io.quarkus.mongodb.runtime.MongoClients.configureCodecRegistry(MongoClients.java:332)
at io.quarkus.mongodb.runtime.MongoClients.createMongoConfiguration(MongoClients.java:255)
at io.quarkus.mongodb.runtime.MongoClients.createReactiveMongoClient(MongoClients.java:115)
at io.quarkus.mongodb.runtime.MongoClientRecorder.reactiveMongoClientSupplier(MongoClientRecorder.java:57)
at io.quarkus.deployment.steps.MongoClientProcessor$generateClientBeans-1756432087.deploy_0(MongoClientProcessor$generateClientBeans-1756432087.zig:96)
at io.quarkus.deployment.steps.MongoClientProcessor$generateClientBeans-1756432087.deploy(MongoClientProcessor$generateClientBeans-1756432087.zig:40)
at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:666)
at io.quarkus.runtime.Application.start(Application.java:101)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:101)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:66)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:42)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:119)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:29)
然后进行从数据库获取数据的操作(例如查找)。在类似于以下的循环中生成StackOverflow异常:
at org.bson.internal.LazyCodec.encode(LazyCodec.java:38)
at org.bson.BsonDocumentWrapper.getUnwrapped(BsonDocumentWrapper.java:195)
at org.bson.BsonDocumentWrapper.entrySet(BsonDocumentWrapper.java:165)
at org.bson.codecs.BsonDocumentCodec.encode(BsonDocumentCodec.java:112)
at org.bson.codecs.BsonDocumentCodec.encode(BsonDocumentCodec.java:42)
at org.bson.codecs.BsonCodec.encode(BsonCodec.java:55)
at org.bson.codecs.BsonCodec.encode(BsonCodec.java:33)
at org.bson.internal.LazyCodec.encode(LazyCodec.java:38)
at org.bson.BsonDocumentWrapper.getUnwrapped(BsonDocumentWrapper.java:195)
at org.bson.BsonDocumentWrapper.entrySet(BsonDocumentWrapper.java:165)
at org.bson.codecs.BsonDocumentCodec.encode(BsonDocumentCodec.java:112)
at org.bson.codecs.BsonDocumentCodec.encode(BsonDocumentCodec.java:42)
映射的对象包含对象 Id 标识符。这些豆子是在一个单独的项目中定义的,有jandex插件来索引豆子
直接在项目POM文件上定义的Quarkus的依赖关系是:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-arc</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-mongodb-panache</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-fault-tolerance</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
我发现了问题。错误地将bson库添加到了jandex索引中。
从索引中删除它可以解决此问题。
在我们的例子中,它是在应用程序属性上声明的:
quarkus.index-dependency.bson.group-id=org.mongodb
quarkus.index-dependency.bson.artifact-id=bson
我删除了这些行,项目可以工作,但是我们看到一个编译警告
[WARNING] [io.quarkus.deployment.steps.ReflectiveHierarchyStep] Unable to properly register the hierarchy of the following classes for reflection as they are not in the Jandex index:
- org.bson.types.ObjectId (source: RestClientProcessor > com.saaskun.api...)
我正在尝试使用应用程序脚本将BigQuery结果加载到Google电子表格中。这是我的密码 我得到的错误是 错误:invalid_client 找不到OAuth客户端。 请求详细信息 -cookie_policy_enforce=false -范围=https://www.googleapis.com/auth/bigqueryhttps://www.googleapis.com/auth/spr
我有这个quarkus rest API: api工作得很好,但是如果我将此值传递给方法,rest客户端将其编码为'USSU%25OS':
我一直在进入Quarkus并试图利用叛变Vertx网络客户端。我的代码可以工作,但我不希望依赖不安全/未检查的分配,这就是我目前在HttpResponse上使用bodyAsJson方法编写代码的方式。有没有更好的方法,或者更标准的方法来解码来自Mutiny Vertx客户端的JSON?我意识到我可以调用bodyAsJsonObject并返回它,但我需要对API调用返回的数据进行处理,所以我需要将其
我尝试为我的后期服务添加一个示例,这是一个使用quarkus构建的简单rest API。 java版本运行良好。 当我添加另一个 Kotlin 来测试 Quarkus 中的 Kotlin 和 Gradle 支持时,它失败了,REST 客户端接口无法注入为 CDI bean。 是Jaxrs资源,用于公开将原始两个API组合在一起的聚合API。 以上两种注入Bean的方法都失败了。 REST客户端接口
我需要一个用于java spring应用程序的graphQL客户端,以与另一个基于graphQL API的微服务通信。我知道Apollo Android,但它似乎没有用maven实现(也许你知道maven的一些链接或示例等)。有什么想法和建议吗?提前感谢!
这是我使用jax rs客户端执行请求的代码: .... 我收到错误: javax。ws。rs.ProcessingException:RESTEASY004655:无法调用请求:javax。ws。rs.ProcessingException:RESTEASY003215:找不到内容类型应用程序/x-www-form-urlencoded-type:javax的编写器。ws。rs.core。类型 这