Я пытаюсь связать соединение с БД с помощью JNDI в моем приложении, которое работает на JBoss. Я сделал следующее:
- Я создал файл источника данных oracle-ds.xml , наполнив его соответствующими элементами xml:
<datasources>
<local-tx-datasource>
<jndi-name>bilby</jndi-name>
...
</local-tx-datasource>
</datasources>
и поместите его в папку \ server \ default \ deploy
Добавлен соответствующий файл с оракулом
чем в моей заявке я выполнил:
JndiObjectFactoryBean factory = new
JndiObjectFactoryBean ();
factory.setJndiName("bilby");
try{
factory.afterPropertiesSet();
dataSource = factory.getObject();
}
catch(NamingException ne) {
ne.printStackTrace();
}
и это приводит к ошибке:
javax.naming.NameNotFoundException:
Билби не связан
затем на выходе после того, как произошла эта ошибка я увидел строку:
18: 37: 56 560 ИНФОРМАЦИЯ
[ConnectionFactoryBindingService]
Связанный ConnectionManager 'jb
oss.jca: Сервис = DataSourceBinding, имя = Билби»
на имя JNDI 'java: bilby'
Так в чем проблема моей конфигурации? Я думаю, что это может быть то, что JBoss сначала загружает и запускает файл .war моего приложения, и только потом он загружает файл oracle-ds.xml, содержащий мое определение источника данных.
Проблема в том, что они оба расположены в одной папке.
Есть ли способ определить приоритет их загрузки, или, может быть, это не проблема вообще.
Есть идеи?