Mule-Flow:检查所需属性

时间:2014-01-28 11:54:18

标签: java spring dependency-injection mule

我有一个带有amqp入站和出站端点的mule流,这是一个简化的例子:

<flow name="foobar">

  <inbound-endpoint ref="amqp_inbound" />

  <transformer ref="some_xsl_transformer" />

  <outbound-endpoint ref="amqp_outbound"/>

</flow>

amqp配置如下:

<amqp:endpoint name="amqp_inbound" queueName="${inbound.q.name}" connector-ref="amqpConnector" exchange-pattern="one-way" />

<amqp:connector
    name="amqpConnector"
    host="${q.host}"
    port="${q.port}"
    username="${q.username}"
    password="${q.password}"
    prefetchCount="${q.prefetchcount}"
    ackMode="MANUAL" />

我想要做的是在部署应用程序时检查是否存在所需的属性。如果它们不存在,我想提供缺少必需属性的错误消息并正常关闭。使用常规spring bean,我一直在实现IntializingBean并在InitializingBean #afterPropertiesSet()方法中检查所需的属性。

我想对仅由骡子流引用的属性做类似的事情,它怎么可能?即如果缺少$ {q.username},请不要部署应用程序并抛出错误消息。骡子允许这样的事情吗?

1 个答案:

答案 0 :(得分:1)

在这种情况下,请使用:

<context:property-placeholder
         location="classpath:config.properties"
         ignore-unresolvable="false" />

加载属性,因为Spring会抛出异常,因此会阻止加载应用程序。