【发布时间】:2013-08-18 09:35:50
【问题描述】:
这是我的问题:我必须读取一个属性 (activemq.connector.port) 并为其添加 2 并使用它在 bean ManagementContext 上设置一个属性 (connectorPort)。这里的属性来自一个文件,或者它可能是系统属性。我想春天并不在乎。
<amq:broker id="broker" useJmx="true" persistent="true">
<amq:managementContext createConnector="true" connectorPort="#{${activemq.connector.port}+2}"/>
<amq:transportConnectors>
<amq:transportConnector uri="vm://localhost:${activemq.connector.port:1099}"/>
</amq:transportConnectors>
</amq:broker>
当我尝试这样做时,我得到了这个异常。
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '{1099 + 2 }' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:568)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1108)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:278)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
我该如何进行这项工作?有没有其他方法可以实现这一目标?
【问题讨论】:
-
你在用
<util:properties>吗?
标签: spring properties spring-el