У меня есть application-context.xml, в котором есть bean-компоненты, как показано ниже.
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean" >
<property name="jndiName" value="java:/comp/env/DB_NAME" />
</bean>
<bean id="jdbcTemplate" name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
и один context.xml вроде
<ResourceLink name="DB_NAME1" global="application/cn=MyDB,ou=Database Connections" />
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Если вы заметили, что в моем context.xml я сохранил имя своего ресурса как DB_NAME1.
Я также сохранил default-lazy-init="true" в теге beans вверху файла application-context.xml. Тем не менее я получаю ошибку ниже
javax.naming.NameNotFoundException: Name [DB_NAME] is not bound in this Context. Unable to find [DB_NAME].
Итак, мой вопрос: как лениво загрузить мой jdbcTemplate/dataSource.
Потому что в моем приложении некоторые службы обращаются к БД, а некоторые — к другим службам. Таким образом, даже если БД не работает, другие службы не должны перестать работать.