【问题标题】:Dynamically switch http:listener-config configuration in mule在 mule 中动态切换 http:listener-config 配置
【发布时间】:2016-08-30 19:27:43
【问题描述】:

我希望能够在 Mule (CE-3.6.1) 中轻松地将侦听器配置从 http 切换到 https(具有基本身份验证)。我在 mule-project.xml 'mule.protocol' 和两个属性文件 http.properties 和 https.properties 中创建了一个变量,其中包含一些数据,如端口(http 和 https 中的相同端口)、主机、密码等。

在 config.xml 我有:

<context:property-placeholder location="${mule.protocol}.properties" />

 <http:listener-config name="HTTP_Listener_Configuration" host="${host}" port="${port}" doc:name="HTTP Listener Configuration" protocol="${protocol}">    
    <tls:context>
        <tls:key-store type="${keystore.type}" path="${keystore.path}"  keyPassword="${keystore.keyPassword}" password="${keystore.password}" />
    </tls:context>         
</http:listener-config>

但我有两个问题。 首先,我收到一条消息:值 '${protocol}' 对于枚举 '[HTTP, HTTPS]' 不是人为有效的 第二,“tls:context”部分仅在 https 情况下允许,所以我必须动态隐藏它。如何解决这些问题或者是否有另一种方法可以在http和https的配置之间轻松切换?我在许多服务中使用 HTTP_Listener_Configuration。

【问题讨论】:

  • ${protocol} 可能是保留字。无论如何,根据您的代码,您应该使用 ${mule.protocol} 而不是 {protocol}。不是吗?
  • 顺便说一句,您可以使用 启用两个端点

标签: mule


【解决方案1】:

不幸的是,这仅在 Mule 3.8.0(即将推出)中添加。在旧版本中,协议属性不支持属性。您可以使用 Spring 配置文件作为解决方法。您可以在 JIRA ticket 中找到更多数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多