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