keycloak - 应用 Policy Enforcer Keycloak 时出错
问题描述
2021-06-28 12:45:23,646 ERROR [io.qua.mut.run.MutinyInfrastructure] (executor-thread-1) Mutiny had to drop the following exception: java.lang.IllegalStateException: Response has already been written
my-api | at io.vertx.core.http.impl.HttpServerResponseImpl.end(HttpServerResponseImpl.java:376)
my-api | at io.vertx.core.http.impl.HttpServerResponseImpl.end(HttpServerResponseImpl.java:365)
my-api | at io.vertx.core.http.impl.HttpServerResponseImpl.end(HttpServerResponseImpl.java:421)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$4$1.onItem(HttpAuthorizer.java:164)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$4$1.onItem(HttpAuthorizer.java:156)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.onItem(UniOnItemTransformToUni.java:60)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.forward(UniCreateFromKnownItem.java:38)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.access$100(UniCreateFromKnownItem.java:26)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem.subscribe(UniCreateFromKnownItem.java:23)
my-api | at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.performInnerSubscription(UniOnItemTransformToUni.java:81)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.onItem(UniOnItemTransformToUni.java:57)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransform$UniOnItemTransformProcessor.onItem(UniOnItemTransform.java:43)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.forward(UniCreateFromKnownItem.java:38)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.access$100(UniCreateFromKnownItem.java:26)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem.subscribe(UniCreateFromKnownItem.java:23)
my-api | at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransform.subscribe(UniOnItemTransform.java:22)
my-api | at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni.subscribe(UniOnItemTransformToUni.java:25)
my-api | at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
my-api | at io.smallrye.mutiny.groups.UniSubscribe.withSubscriber(UniSubscribe.java:50)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$4.onItem(HttpAuthorizer.java:156)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$4.onItem(HttpAuthorizer.java:146)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.forward(UniCreateFromKnownItem.java:38)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.access$100(UniCreateFromKnownItem.java:26)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem.subscribe(UniCreateFromKnownItem.java:23)
my-api | at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
my-api | at io.smallrye.mutiny.groups.UniSubscribe.withSubscriber(UniSubscribe.java:50)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer.doDeny(HttpAuthorizer.java:146)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer.access$000(HttpAuthorizer.java:27)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$2.accept(HttpAuthorizer.java:126)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$2.accept(HttpAuthorizer.java:122)
my-api | at io.smallrye.context.impl.wrappers.SlowContextualConsumer.accept(SlowContextualConsumer.java:21)
my-api | at io.smallrye.mutiny.helpers.UniCallbackSubscriber.onItem(UniCallbackSubscriber.java:69)
my-api | at io.smallrye.mutiny.operators.uni.builders.DefaultUniEmitter.complete(DefaultUniEmitter.java:36)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$1$1$1.run(HttpAuthorizer.java:74)
my-api | at io.quarkus.runtime.CleanableExecutor$CleaningRunnable.run(CleanableExecutor.java:231)
my-api | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
my-api | at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
my-api | at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2415)
my-api | at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452)
my-api | at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
my-api | at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
my-api | at java.base/java.lang.Thread.run(Thread.java:831)
my-api | at org.jboss.threads.JBossThread.run(JBossThread.java:501)
my-api |
my-api | 2021-06-28 12:45:23,646 ERROR [io.qua.mut.run.MutinyInfrastructure] (executor-thread-2) Mutiny had to drop the following exception: java.lang.IllegalStateException: Response has already been written
my-api | at io.vertx.core.http.impl.HttpServerResponseImpl.end(HttpServerResponseImpl.java:376)
my-api | at io.vertx.core.http.impl.HttpServerResponseImpl.end(HttpServerResponseImpl.java:365)
my-api | at io.vertx.core.http.impl.HttpServerResponseImpl.end(HttpServerResponseImpl.java:421)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$4$1.onItem(HttpAuthorizer.java:164)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$4$1.onItem(HttpAuthorizer.java:156)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.onItem(UniOnItemTransformToUni.java:60)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.forward(UniCreateFromKnownItem.java:38)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.access$100(UniCreateFromKnownItem.java:26)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem.subscribe(UniCreateFromKnownItem.java:23)
my-api | at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.performInnerSubscription(UniOnItemTransformToUni.java:81)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.onItem(UniOnItemTransformToUni.java:57)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransform$UniOnItemTransformProcessor.onItem(UniOnItemTransform.java:43)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.forward(UniCreateFromKnownItem.java:38)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.access$100(UniCreateFromKnownItem.java:26)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem.subscribe(UniCreateFromKnownItem.java:23)
my-api | at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransform.subscribe(UniOnItemTransform.java:22)
my-api | at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
my-api | at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni.subscribe(UniOnItemTransformToUni.java:25)
my-api | at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
my-api | at io.smallrye.mutiny.groups.UniSubscribe.withSubscriber(UniSubscribe.java:50)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$4.onItem(HttpAuthorizer.java:156)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$4.onItem(HttpAuthorizer.java:146)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.forward(UniCreateFromKnownItem.java:38)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.access$100(UniCreateFromKnownItem.java:26)
my-api | at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem.subscribe(UniCreateFromKnownItem.java:23)
my-api | at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
my-api | at io.smallrye.mutiny.groups.UniSubscribe.withSubscriber(UniSubscribe.java:50)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer.doDeny(HttpAuthorizer.java:146)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer.access$000(HttpAuthorizer.java:27)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$2.accept(HttpAuthorizer.java:126)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$2.accept(HttpAuthorizer.java:122)
my-api | at io.smallrye.context.impl.wrappers.SlowContextualConsumer.accept(SlowContextualConsumer.java:21)
my-api | at io.smallrye.mutiny.helpers.UniCallbackSubscriber.onItem(UniCallbackSubscriber.java:69)
my-api | at io.smallrye.mutiny.operators.uni.builders.DefaultUniEmitter.complete(DefaultUniEmitter.java:36)
my-api | at io.quarkus.vertx.http.runtime.security.HttpAuthorizer$1$1$1.run(HttpAuthorizer.java:74)
my-api | at io.quarkus.runtime.CleanableExecutor$CleaningRunnable.run(CleanableExecutor.java:231)
my-api | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
my-api | at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
my-api | at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2415)
my-api | at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1426)
my-api | at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
my-api | at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
my-api | at java.base/java.lang.Thread.run(Thread.java:831)
my-api | at org.jboss.threads.JBossThread.run(JBossThread.java:501)
my-api |
lb | 172.21.0.1 - - [28/Jun/2021:12:45:23 +0000] "GET /api/protected HTTP/1.1" 401 0 "http://localhost/" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Mobile Safari/537.36"
lb | 172.21.0.1 - - [28/Jun/2021:12:45:23 +0000] "GET /api/public HTTP/1.1" 401 0 "http://localhost/" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Mobile Safari/537.36"
应用 Keycloak 策略实施器时发生意外错误。
无法找出发生此错误的原因。
当quarkus.keycloak.policy-enforcer.enable=false
没有错误产生时。
无法调试,因为它们在代理之外运行。(找不到任何方法)
这是示例应用程序存储库
请帮我解决这个错误。
谢谢
解决方案
推荐阅读
- html - CSS中的额外空白?
- php - 为什么我的 wordpress 获取缩略图不返回我的自定义大小?
- octave - 修改位置属性时八度隐藏部分子图
- python - 使用 plt.ion() 限制 matplotlib 动画
- spring-boot - 使用 selenium webdriver 和 junit5 进行端到端测试的最佳方法是什么?
- android-studio - 无法将 LG5 连接到 Android Studio
- python - 在字典中查找元素并检查对象的类型
- ajax - 使用ajax上传时如何将文本框值捕获到文件名中?
- python - 尝试在 python 中使用 tensorflow 实现卷积神经网络程序时,我不断收到奇怪的“无效语法”错误
- c - sleep() 会影响 pthread 执行吗?