1
我正在嘗試爲我的WAR文件建立一個JNDI數據庫連接,該連接將部署在WebLogic 12c上。這是我有:使用Spring Boot設置JNDI連接
@Bean
public DataSource dataSource() throws DataSourceLookupFailureException {
JndiDataSourceLookup dataSourceLookup = new JndiDataSourceLookup();
return dataSourceLookup.getDataSource("jndiName");
}
在application.properties
文件:
- https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-sql.html
- https://docs.spring.io/spring-boot/docs/current/reference/html/howto-data-access.html#howto-configure-a-datasource:
spring.datasource.jndi-name=jndiName
這是從春天啓動引導的兩個不同部分拼湊
我很困惑,爲什麼jndiName
說過兩次?我正確地遵循 - 這是設置的正確方法嗎?
我覺得Spring Boot會自動從application.properties
中檢索JNDI名稱,這樣我就不需要將JNDI名稱硬編碼爲getDataSource()
,或者如果我硬編碼了JNDI名稱,那麼我不需要首先將該財產納入application.properties
。
從我的解釋來看,指南中關於如何建立JNDI連接的兩部分看起來互相矛盾。我錯了什麼?什麼是正確的方法來設置這個?
這不是正確的方法。只需在'application.properties'中指定JNDI名稱,Spring Boot將執行查找。刪除你自己的查找。你要麼不是兩個(除非你有多個數據源,否則你將不得不尋找另一種方式)。你指向的部分是關於配置一個自定義數據源,這是默認配置選項沒有給你所需要的。 –
@ M.Deinum我對此很陌生,所以請耐心等待。那麼你是說整個'dataSource()'是不必要的?我需要的僅僅是'application.properties'中的一行嗎?此外,是否還有其他需要在文件內部才能使用的文件? – thegreatjedi
沒有那麼基本上就是你所需要的,它是'application.properties'中的條目。 –