Я снова искал эту проблему, где я не могу найти базу данных jndi с помощью java config. До этого я использую xml и его работу отлично, но в java config это вызывает проблему;Weblogic jndi NameNotFoundException происходит с конфигурацией java
код Xml:
<!-- Jndi database connection -->
<jee:jndi-lookup id="dbDataSource" jndi-name="${db.jndi}"
resource-ref="true" />
<beans:bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate" >
<beans:property name="dataSource" ref="dbDataSource"></beans:property>
</beans:bean>
Java конфигурации Теперь:
@Bean(name = "dbDataSource")
public DataSource dataSource(@Value("${db.jndi}") String jndiName)
{
JndiDataSourceLookup lookup = new JndiDataSourceLookup();
return lookup.getDataSource(jndiName);
}
@Bean
public JdbcTemplate jdbcTemplate(DataSource ds) {
return new JdbcTemplate(ds);
}
Свойства Имя файла:
db.jndi=jndi/myData
JNDI в WebLogic:
jndi/myData
После изменения в Java конфигурацию, иногда система может прочитать базу данных, но встречается редко, пока я не очистить и перезагрузить компьютер, то он может найти базу данных, но обычно его всегда вызывает:
javax.naming.NameNotFoundException: Unable to resolve 'jndi.myData'. Resolved 'jndi'; remaining name 'myData'
Почему приложение не может найти базу данных правильно? Спасибо !!!
уже пробовал, но webapp все еще не может найти его, и иногда он работает, как обычно, но когда я вернусь обратно к xml, он работает так же, как и обычный ~ – FreezY
Возможно, мне нужно добавить что-то в java config? – FreezY
Вы можете подключить свою базу данных с настройками, введенными в пул соединений? Вы можете попробовать с помощью TOAD. И, наконец, вы можете найти «» в ваших журналах сервера? Это где-то должно быть написано ошибка. –
BurakE