WebLogic 12cに配備されるWARファイル用のJNDIデータベース接続を設定しようとしています。これは私が持っているものです。SpringブートによるJNDI接続の設定
application.properties
ファイルで
@Bean
public DataSource dataSource() throws DataSourceLookupFailureException {
JndiDataSourceLookup dataSourceLookup = new JndiDataSourceLookup();
return dataSourceLookup.getDataSource("jndiName");
}
:
- 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:これは春のブートガイドの2つの異なるセクションからつなぎ合わせている
spring.datasource.jndi-name=jndiName
私は混乱しています、なぜjndiName
が2回書かれていますか?私は正しく従っていますか?これは正しい設定方法ですか?
私はgetDataSource()
にJNDI名をハードコーディングする必要がないように春ブーツは、自動的に、application.properties
からJNDI名が取得されます、または私は、その後にJNDI名をハードコーディングする場合、私は必要がないという印象をしています最初にそのプロパティをapplication.properties
に含めるようにしてください。
私の解釈から、JNDI接続を設定する方法をカバーするガイドの2つのセクションは、互いに矛盾するように見えます。私は何が間違っていますか?これを設定する正しい方法は正確に何ですか?
これは正しい方法ではありません。単に 'application.properties'にJNDI名を指定すれば、SpringBootが検索を行います。自分のルックアップを削除します。あなたはどちらかを選択する必要はありません(複数のデータソースがある場合を除き、別の方法を見つける必要があります)。あなたが指しているセクションは、デフォルトの設定オプションが必要なものを提供しないカスタムデータソースを設定することです。 –
@ M.Deinum私はこれに新しいので、私と一緒にご負担ください。だから、 'dataSource()'全体が不要だと言っていますか?私が必要とするのは、 'application.properties'の1つのライナーだけです。また、ファイルが有効になるためには、ファイル内にあることが必要な他の項目がありますか? – thegreatjedi
いいえ、基本的に 'application.properties'のエントリが必要です。 –