WSO2入站端点如何从配置文件动态获取参数实现启动时连接
WSO2 RabbitMQ入站端点动态配置参数方案
静态配置可正常运行示例
静态配置的RabbitMQ入站端点可正常工作,示例代码如下:
<inboundEndpoint xmlns="http://ws.apache.org/ns/synapse" name="RabbitMQConsumer" sequence="amqpSeq" onError="amqpErrorSeq" protocol="rabbitmq" suspend="false"> <parameters> <parameter name="sequential">true</parameter> <parameter name="coordination">true</parameter> <parameter name="rabbitmq.connection.factory">AMQPConnectionFactory</parameter> <parameter name="rabbitmq.server.host.name">localhost</parameter> <parameter name="rabbitmq.server.port">5672</parameter> <parameter name="rabbitmq.server.user.name">guest</parameter> <parameter name="rabbitmq.server.password">guest</parameter> <parameter name="rabbitmq.queue.name">queue</parameter> <parameter name="rabbitmq.exchange.name">exchange</parameter> <parameter name="rabbitmq.connection.ssl.enabled">false</parameter> </parameters> </inboundEndpoint>
需求目标
需要实现从deployment.toml或axis2.xml等配置文件动态获取参数,让监听器在系统启动阶段即可完成RabbitMQ连接。
已尝试但未成功的配置方式
以下几种动态配置方式均未达到预期效果:
- 方式1:尝试引用
deployment.toml变量
<parameter name="rabbitmq.server.host.name">${rabbitmq:host}</parameter>
- 方式2:尝试引用Axis2配置变量
<parameter name="rabbitmq.server.host.name">$axis2:rabbitmq.server.host.name</parameter>
- 方式3:尝试从注册表读取配置
<parameter name="rabbitmq.server.host.name"> <![CDATA[json-eval(get-property('gov:/rmqconnection/RMQ.json', 'rmq_host'))]]> </parameter>
内容的提问来源于stack exchange,提问作者Pritish Mohanty
相关产品推荐
相关产品推荐

