WSO2 具有动态参数的入站端点

问题描述 投票:0回答:1

通过向 WSO2 入站端点提供静态值,它可以正常工作,如下面给出的示例所示。

寻找一种能够从配置(即从deployment.toml或axis2.xml等)动态选取值的解决方案,以便侦听器应该在系统启动期间连接。

  <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>

下面是一些尝试使用入站端点参数的示例,但尚未成功。

1>

<parameter name="rabbitmq.server.host.name">${rabbitmq:host}</parameter> 

2>

<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>
wso2 wso2-esb wso2-micro-integrator wso2-integration-studio
1个回答
0
投票

您可以使用

$SYSTEM:SOME_PROPERTY_NAME
动态设置环境变量或
$FILE:SOME_PROPERTY_NAME
使用位于
file.properties
目录的
<MI_HOME>/conf
文件设置值,如下所示,

<parameter name="rabbitmq.server.host.name">$SYSTEM:RABBIT_HOST_PROPERTY</parameter>

请参阅以下官方文档了解更多信息https://mi.docs.wso2.com/en/latest/develop/injecting-parameters/#inbound-endpoint-parameters

© www.soinside.com 2019 - 2024. All rights reserved.