在Spring Cloud Zuul服务器中,我们可以通过“application.properties”定义所有需要重定向的路由。
例如:
zuul.routes.resource.path=/api/**
zuul.routes.resource.url=http://api.com:9025
创建fat jar后,“application.properties”被封装到jar中,无法编辑和重新加载文件中的规则。
有没有通知Zuul外部文件中的路由,同时在不停止服务器的情况下重新加载它们?
答案 0 :(得分:3)
您可以使用spring cloud配置。
Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。使用Config Server,您可以在中央位置管理所有环境中的应用程序的外部属性
http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_spring_cloud_config_client
答案 1 :(得分:2)
......派对有点晚了,但是......
您可以使用ConfigServer完成所需的一切!
所有这些文件都是可选的,不依赖于任何其他文件。例如,您可以使用application-mycommonprofile.yml而不使用application.yml。
希望有所帮助!
答案 2 :(得分:0)
另一个迟到的回答,但另一种方法是使用配置文件配置文件,它位于fatjar之外的文件系统中。
如果您的Zuul代理的配置名称是'zuul'而您的普通配置文件是'zuul.properties'或'zuul.yaml',那么它会在'zuul-.properties'中查找特定于配置文件的配置文件或'zuul-.yaml'。 如果未指定配置文件,则名为“default”的配置文件处于活动状态。
因此,您可以从外部文件名'zuul-default.properties'或'zuul-default.yaml'(或'zuul-default.yml',如果您使用3个字母的文件扩展名)加载属性。 然后在没有指定其他配置文件时加载。