在mule中动态切换http:listener配置

在mule中动态切换http:listener配置,mule,Mule,我希望能够在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}

我希望能够在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_配置。

不幸的是,这只是为Mule 3.8.0(即将推出)添加的。在旧版本中,“协议”属性不支持属性。您可以使用弹簧轮廓作为解决方法。你可以在JIRA中找到更多的数据

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