使用Spring Boot设置JNDI连接

时间:2017-01-31 10:05:45

标签: java spring spring-boot database-connection jndi

我正在尝试为我的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连接的两个部分似乎相互矛盾。我错了什么?究竟是什么方法来设置它?

1 个答案:

答案 0 :(得分:0)

删除自定义bean并使用application.properties但在本地环境中如果要运行嵌入式容器,则此方法将无法正常工作

要在嵌入式容器中使用H2或任何其他数据库,请在main方法中定义配置文件,然后配置数据源。这种方式适用于本地和生产