gpt4 book ai didi

java - 在配置时更改 spring bean 属性

转载 作者:行者123 更新时间:2023-11-30 05:59:36 26 4
gpt4 key购买 nike

在 spring servlet xml 文件中,我使用 org.springframework.scheduling.quartz.SchedulerFactoryBean 定期触发一组触发器。

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="AwesomeTrigger" />
<ref local="GreatTrigger" />
<ref local="FantasticTrigger"/>
</list>
</property>
</bean>

问题是,在不同的环境中,我不希望触发某些触发器。有没有办法包含在环境的 build.properties 中或在 spring 自定义上下文属性文件中定义的某种配置或变量,以帮助 bean xml 确定哪些触发器应包含在列表中?这样,例如,AwesomeTrigger 将在开发中被调用,但不会在 qa 中被调用。

最佳答案

创建一个工厂 bean,根据属性返回触发器列表

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<bean class="com.yourcompany.FactoryBeanThatReturnsAListOfTriggers">
<property name="triggerNames" value="${some.property}" />
</bean>

</property>
</bean>

<context:property-placeholder location="classpath:your.properties" />

引用:

关于java - 在配置时更改 spring bean 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2859191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com