Properties 我是否可以在不重新加载或重新启动的情况下动态读取或更新多个Mule应用程序属性?

Properties 我是否可以在不重新加载或重新启动的情况下动态读取或更新多个Mule应用程序属性?,properties,mule,reload,Properties,Mule,Reload,我们计划创建一个应用程序,该应用程序读取与服务器中运行的mule应用程序关联的所有属性文件。 我们的目的是从自定义应用程序读取属性和更新,而不是提供对MMC的访问。 用户可以更新Quartz时间表、重新安排、暂停和恢复作业和触发器 我们能否创建一个应用程序并与Mule实例部署并行运行,读取所有应用程序属性并动态更新,而不影响部署(无需重新启动和部署)。简短回答是否: 之所以不能这样做,是因为许多组件都有一个特殊的生命周期,并在配置时启动服务器套接字或连接到jms队列,因此,即使您更改了属性,您也

我们计划创建一个应用程序,该应用程序读取与服务器中运行的mule应用程序关联的所有属性文件。 我们的目的是从自定义应用程序读取属性和更新,而不是提供对MMC的访问。 用户可以更新Quartz时间表、重新安排、暂停和恢复作业和触发器

我们能否创建一个应用程序并与Mule实例部署并行运行,读取所有应用程序属性并动态更新,而不影响部署(无需重新启动和部署)。

简短回答是否:


之所以不能这样做,是因为许多组件都有一个特殊的生命周期,并在配置时启动服务器套接字或连接到jms队列,因此,即使您更改了属性,您也至少会停止并启动相应的组件,以便释放以前的资源并获取新的资源。

在更改Mule XML之前,无法检测到属性文件的更改。因此,有一个alternet选项来读取 属性文件用于更改MuleXML中的某些内容并保存它

当Mule服务器检测到XML文件中的任何更改时, 读取XML并创建mule上下文。这里已经讨论了这一点:-


因此,如果您想在Mule中创建一个应用程序,从属性中读取更新后的值,您总是需要该应用程序对Mule XML进行一些更改

我认为这将非常棘手,需要刷新整个Mule和Spring上下文,理论上可能是这样,但实际上可能不是这样。。。但我不是骡子内部结构方面的专家,所以不要相信我的话it@sashidhar你想在Mule中创建并行应用程序来读取属性文件吗???谢谢David,我也这么认为。需要更多详细信息,例如如何将属性文件写入特定的应用程序路径,并在不重新启动服务器的情况下重新加载到正在运行的应用程序中。我想知道最初是如何将应用程序属性加载到缓存中的,以及当我们覆盖属性时如何将其重新加载到正在运行的应用程序中。是的@Anirban,我正在尝试创建并行应用程序,该应用程序在不重新启动的情况下读取和覆盖属性。