如何在 Mulesoft 中将属性文件保存在 Mule 代码之外



我已经为 mule 流定义了一个 dev.properties 文件。我在其中传递运行流所需的用户名和密码。此密码每月更新一次。因此,每个月我都必须在更改密码后将代码部署到服务器。有没有办法,我们可以将属性文件保存在骡子服务器路径中的代码之外,并在需要时进行更改以避免重新部署。

另一个想法是完全放弃文件的任何使用来获取用户名和密码。

相反,请尝试使用credentials providing service,例如从独立API(子API/提供服务(收集用户名和密码的http请求器。

将其存储在父 API(调用 API(的缓存对象存储中。继续使用这些值,除非使用它们的流失败,或者客户端需要在一个月后使它们过期。稍后只需刷新它们。

您可以使用具有每月触发器的 Cron 表达式的计划程序触发凭证提供服务。

否,因为即使属性文件位于应用程序外部,属性也会在应用程序部署时加载。因此,无论如何您都需要重新启动应用程序才能获取新值。

相反,您可以创建一个自定义模块,该模块从某个位置(文件、某些服务等(读取属性,将值分配给变量,并在执行时改用该变量。请注意,某些配置可能仅在部署时设置,因此不会这样计算变量。

如果凭据没有公开您的应用程序安全性或数据,则可以将它们移动到另一个配置文件(将其放在 mule 应用程序路径之外(。生成一个RAML文件,该文件将在应用程序部署/启动后读取并重新加载凭据,并将它们存储在缓存中,timeToLive大约12小时。
下次您必须更改用户名/密码时,请直接更改文件,缓存将在到期后自动刷新它。

实际上不是因为所有属性安全属性都需要在运行时存在,并且不在那里您的应用程序将失败, 有一种方法,但不是最好的方法,而不是编辑代码,您可以直接在cloudhub运行时管理器属性选项卡中编辑安全属性,即用户名和密码。 编辑后只需应用更改,api 将自动重新启动并成功部署

最新更新