2017-01-31 10 views
1

Я пытаюсь настроить подключение базы данных JNDI для своего WAR-файла, который будет развернут на WebLogic 12c. Это то, что у меня есть:Настройка соединения JNDI с Spring Boot

@Bean 
public DataSource dataSource() throws DataSourceLookupFailureException { 
    JndiDataSourceLookup dataSourceLookup = new JndiDataSourceLookup(); 

    return dataSourceLookup.getDataSource("jndiName"); 
} 

В application.properties файле:

spring.datasource.jndi-name=jndiName 

Это кусочкам из двух различных разделов руководства Spring загрузки:

Я смущен, почему jndiName указано дважды? Правильно ли я правильно - это правильный способ настройки?

Я оттиск, что весна загрузка либо автоматически получить имя JNDI из application.properties, так что мне не нужно жёстка имени JNDI в getDataSource(), или если я жёстко имени JNDI тогда, я не нужен буду включить это имущество в application.properties в первую очередь.

Из моей интерпретации обе части руководства, в которых описывается, как установить соединение JNDI, противоречат друг другу. Что я ошибаюсь? Каков правильный способ его настройки?

+0

Неправильный путь. Просто укажите имя JNDI в 'application.properties', а Spring Boot выполнит поиск. удалите свой собственный поиск. Вы либо не оба (если у вас нет нескольких источников данных, вам придется найти другой способ). Раздел, на который вы указываете, - это настройка настраиваемого источника данных, когда параметры конфигурации по умолчанию не дают того, что вам нужно. –

+0

@ M.Deinum Я новичок в этом, поэтому, пожалуйста, медведь со мной. Итак, вы говорите, что весь 'dataSource()' не нужен? Все что мне нужно - это однострочный шрифт в 'application.properties'? Кроме того, есть ли что-то еще, что необходимо для внутри файла, чтобы оно было действительным для использования? – thegreatjedi

+1

Нет, что в основном это все, что вам нужно, запись в 'application.properties'. –

ответ

0

Удалить пользовательский боб и использовать application.properties, но в местной среде, если вы хотите запустить встроенный контейнер этого подхода не будет работать

Чтобы использовать H2 или любые другую базу данных во встроенном контейнере определяет профиль в основном методе и затем настройте свой источник данных. Таким образом, он работает как на местном, так и на производстве

 Смежные вопросы

  • Нет связанных вопросов^_^