gpt4 book ai didi

apache-kafka - 在 Keycloak 中使用第三方库

转载 作者:行者123 更新时间:2023-12-04 04:40:22 24 4
gpt4 key购买 nike

我想将 kafka-clients 用于我的 keycloak 模块,以便将每个登录事件发布到其中。

问题出在部署过程中:我对打包在 jar 中的自定义 keycloak 提供程序使用了“模块方式”,将 kafka-clients 声明为模块依赖项。由于它不存在,我还手动创建了一个 kafka-clients 模块。尽管如此,由于未找到的类,我在启动时遇到问题:

java.lang.ClassNotFoundException: javax.net.ssl.KeyManagerFactory from [Module "org.apache.kafka.kafka-clients"

也许缺少其他依赖项。无论如何,我不想手动处理所有依赖问题。

所以我的问题是: 部署需要第三方依赖项的自定义 keycloak SPI 提供程序的最佳方法是什么?

我应该建立一个 EAR 吗?一场 war ?一个 JAR 就够了吗?

最佳答案

如果您向其添加 kafka-clients 依赖项,则 JAR 就足够了。

你可以看看keycloak-metrics-spi在自己的 jar 中捆绑 prometeus 依赖项(使用 gradle)

configurations {
bundleLib
}

dependencies {
bundleLib group: 'io.prometheus', name: 'simpleclient_common', version: prometheusVersion
bundleLib group: 'io.prometheus', name: 'simpleclient_hotspot', version: prometheusVersion
configurations.compile.extendsFrom(configurations.bundleLib)
}

jar {
from {
configurations.bundleLib.collect { it.isDirectory() ? it : zipTree(it) }
}
}


EAR 也可以工作(并且允许您进行热部署),您只需将 kafka-clients 添加到存档的 lib 目录中。

关于apache-kafka - 在 Keycloak 中使用第三方库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51424996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com