我正在尝试为我的WAR文件设置一个JNDI数据库连接,该连接将部署在WebLogic 12c上。这就是我所拥有的:
@Bean
public DataSource dataSource() throws DataSourceLookupFailureException {
JndiDataSourceLookup dataSourceLookup = new JndiDataSourceLookup();
return dataSourceLookup.getDataSource("jndiName");
}
在application.properties
文件中:
spring.datasource.jndi-name=jndiName
这是从Spring Boot指南的两个不同部分拼凑而成的:
我很困惑,为什么jndiName
说了两次?我是否正确遵循 - 这是正确的设置方式吗?
我的印象是Spring Boot会自动从application.properties
检索JNDI名称,这样我就不需要将JNDI名称硬编码到getDataSource()
中,或者如果我硬编码JNDI名称在那时我不需要首先在application.properties
中包含该属性。
从我的解释来看,指南中有关如何设置JNDI连接的两个部分似乎相互矛盾。我错了什么?究竟是什么方法来设置它?
答案 0 :(得分:0)
删除自定义bean并使用application.properties但在本地环境中如果要运行嵌入式容器,则此方法将无法正常工作
要在嵌入式容器中使用H2或任何其他数据库,请在main方法中定义配置文件,然后配置数据源。这种方式适用于本地和生产