2017-01-31 146 views
1

我正在嘗試爲我的WAR文件建立一個JNDI數據庫連接,該連接將部署在WebLogic 12c上。這是我有:使用Spring Boot設置JNDI連接

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

    return dataSourceLookup.getDataSource("jndiName"); 
} 

application.properties文件:

我很困惑,爲什麼jndiName說過兩次?我正確地遵循 - 這是設置的正確方法嗎?

我覺得Spring Boot會自動從application.properties中檢索JNDI名稱,這樣我就不需要將JNDI名稱硬編碼爲getDataSource(),或者如果我硬編碼了JNDI名稱,那麼我不需要首先將該財產納入application.properties

從我的解釋來看,指南中關於如何建立JNDI連接的兩部分看起來互相矛盾。我錯了什麼?什麼是正確的方法來設置這個?

+0

這不是正確的方法。只需在'application.properties'中指定JNDI名稱,Spring Boot將執行查找。刪除你自己的查找。你要麼不是兩個(除非你有多個數據源,否則你將不得不尋找另一種方式)。你指向的部分是關於配置一個自定義數據源,這是默認配置選項沒有給你所需要的。 –

+0

@ M.Deinum我對此很陌生,所以請耐心等待。那麼你是說整個'dataSource()'是不必要的?我需要的僅僅是'application.properties'中的一行嗎?此外,是否還有其他需要在文件內部才能使用的文件? – thegreatjedi

+1

沒有那麼基本上就是你所需要的,它是'application.properties'中的條目。 –

回答

0

,如果你想運行嵌入式容器這種做法是行不通的

要使用H2或嵌入容器中的任何其他數據庫的主要方法定義配置文件中刪除自定義的bean和使用application.properties但在當地的環境和然後配置您的數據源。這種方式可以在本地和生產中使用

相關問題