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