我在使用Docker容器部署我的应用程序Spring Boot应用程序时尝试解决技术问题。
/ deployments是我在dockerfile中配置的工作目录
我发现它在tmp / tomcat docbase上进行选择很奇怪,因为在配置其他信任库时,它将放置在正确的位置。这在我的application.yaml中
spring:
kafka:
bootstrap-servers:localhost:9092
ssl:
truststore-location: /deployments/app/certs/kafka-truststore.jks
truststore-password: test
consumer:
group-id: consumerid
server:
ssl:
enabled: false
key-store: /deployments/app/certs/dp--dev.jks
key-store-password: changeit
trust-store: /deployments/app/certs/ol-truststore-dev.jks
trust-store-password: test
它是我缺少的东西还是与我正在使用的kafka springframework lib有关?
最佳答案
truststore的位置是Spring的Resource
(默认为classpath:
),因此它将在类路径中查找文件。引导会检查文件是否存在,因此我看不到它是如何顺利通过引导并传递给Kafka的(除非它也位于类路径中)。如果Boot认为还可以,Kafka也应该这样做。
试试file:/deployments/app/certs/kafka-truststore.jks