我需要调用 rest 服务来检索流连接器属性,并在 Mule 上下文启动时将检索到的属性填充到的 bean 中。我是否需要自定义骡子上下文生命周期?填充的 bean 如何在流.xml中可用?如果由于任何原因导致服务调用失败,则不应启动 mule 上下文。建议实现此功能的最佳方法。
实现此目的的一种方法是创建自己的占位符配置器来调用其余服务。然后,您可以在流中使用普通属性占位符,例如 §{myProperty}。您的代码将在 mule 上下文初始化期间被调用,如果您抛出 RuntimeException,上下文将不会启动。
为了获得灵感,你可以看看spring-config-etcd和spring-config-jdbc项目。如果在数据库中找不到属性,它们都使用属性文件作为回退,但您可以将其删除并引发异常。
spring-config-etcd 和 spring-config-jdbc 的出色工作。我同意你的观点,即实施PropertySourcesPlaceholderConfigurer
的春季方式是迄今为止最好的选择。使用 zuul 服务器已经构建了类似的解决方案,您可以在此处找到代码。我敢打赌很容易适应您的休息服务。