我有一个带有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},请不要部署应用程序并抛出错误消息。骡子允许这样的事情吗?
答案 0 :(得分:1)
在这种情况下,请使用:
<context:property-placeholder
location="classpath:config.properties"
ignore-unresolvable="false" />
加载属性,因为Spring会抛出异常,因此会阻止加载应用程序。