是否可以在远程Artemis服务器上以编程方式创建/更新集群?我会有很多docker实例,如果可能的话,我宁愿动态配置,也不必在XML文件中设置。
理想情况下,在应用程序启动时,我想检查是否已经设置了集群,如果没有创建集群。这可能涉及到获取当前服务器配置并使用集群详细信息进行更新。
我认为可以创建一个配置。但是,如果可能的话,我不确定如何获得远程服务器配置。
Configuration config = new ConfigurationImpl();
ClusterConnectionConfiguration ccc = new ClusterConnectionConfiguration();
ccc.setAddress("231.7.7.7");
config.addClusterConfiguration(ccc);
// need a way to get and update the current server configuration
ActiveMQServer.getConfiguration();
如有任何建议,我们将不胜感激。
如果可能的话,这是一种很好的动态配置方法吗?
感谢
org.apache.activemq.artemis.core.config.impl.ConfigurationImpl
对象可用于以编程方式配置代理。broker测试套件使用此对象来配置broker实例。但是,该对象在任何远程意义上都不可用。
一旦启动了broker,就有了一个丰富的管理API,您可以使用它来添加安全设置、地址设置、转移、桥接、地址、队列等。然而,这些操作中的大多数(尽管不是所有(所做的更改都是不稳定的,这意味着每次启动broker时都需要执行其中的许多更改。此外,没有添加集群连接的管理方法。
您可以考虑使用像Ansible这样的工具来管理配置,甚至可以使用像FreeMarker这样的模板引擎来定制XML,然后使用其他技术将其分发到Docker实例。