У меня есть свойство с аннотацией @Value
, обычно заполняется из context.xml (JNDI/TOMCAT)Значения по умолчанию для весны @value аннотации
@Value("${some.property}")
private String property
Это прекрасно работает, но у нас есть объекты нашего программного обеспечения, где это свойство не должно быть настроено.
Однако, если имущество отсутствует, я получаю javax.naming.NameNotFoundException: Name [some.property] is not bound in this Context. Unable to find [some.property].
, что логично.
Я попытался исправить эту проблему, добавив значение по умолчанию следующим образом:
@Value("${some.property:some_property_not_configured}")
private String property
Однако, я все еще получаю ту же ошибку.
Любые идеи, как предотвратить/исправить это?
Я хотел бы использовать это в Spring 3.2.x и среде Spring 4+. аннотаций @value доступны с весны 3+
UPDATE: Проблемы не с @value аннотации, но в приложении-config.xml
<entry key="some.property">
<jee:jndi-lookup jndi-name="java:comp/env/some.property" />
</entry>
Это вызвало ошибку при запуске время!
Однако, если добавить default-value="something"
здесь, он все еще терпит неудачу с такой же ошибкой
Вы подтвердили, что верно действие some_property_not_configured jndi name – kuhajeyan