2017-01-23 76 views
0

我试图形成一个春天的表达像下面春天EL - 如果其他条件

<bean id="merchantPayment2-cronTrigger" class="uk.co.xxx.batch.merchantpayment2.CronTrigger"> 
    <property name="jobDetail" ref="merchantPayment2-jobDetail" /> 
    <property name="cronExpression" value="#{ ${merchantPaymntRptJob.useDB}== true ? (applicationConfigurationService.merchantPaymentCronExpression) : ${merchantPaymntRptJob.cronExpression} }"/> 
</bean> 

我的意思做的是,如果物业merchantPaymntRptJob.useDB为真,那么从数据库使用的服务或使用的取值来自财产档案的价值。

麻烦的是使用applicationConfigurationService.merchantPaymentCronExpression 我试过不同的组合 - 添加$,#或just()但不起作用。你能帮忙吗?

+0

尝试'systemProperties ['merchantPaymntRptJob.useDB']'。 https://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html –

+0

麻烦不是与merchantPaymntRptJob.useDB但与其他两个表达式。 –

+2

噢......有一个构造可以在SpEL的'@ applicationConfigurationService'中使用其他bean - https://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html#expressions-豆引用 –

回答

0

感谢您的帮助。下面一个正在工作。

#{ (${merchantPaymntRptJob.useDB}== true) ?(@applicationConfigurationService).merchantPaymentCronExpression :'${merchantPaymntRptJob.cronExpression}'}