Spring 启动 WebLogic 12c Jndi 数据源

Spring boot WebLogic 12c Jndi Datasource

我正在 WebLogic 12c 上部署 Spring 引导应用程序。

没有 Jndi 数据源一切正常。 我尝试在 WebLogic 上配置名称为 "jdbc/MyDataSource" 的数据源,在我的应用程序中我设置了这样的属性:

spring.datasource.jndi-name=jdbc/MyDataSource

但是,当我部署我的网络应用程序时,我收到以下错误:

weblogic.application.ModuleException: javax.naming.NameNotFoundException: While trying to lookup 'jdbc.MyDataSource' didn't find subcontext 'jdbc'. Resolved ''; remaining name 'jdbc/MyDataSource'

我也尝试了以下属性配置但没有成功:

spring.datasource.jndi-name=java:comp/env/jdbc/MyDataSource

spring.datasource.jndi-name=java:/jdbc/MyDataSource

spring.datasource.jndi-name=java:jdbc/MyDataSource

我的maven配置:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.2.RELEASE</version>
    <relativePath />
</parent>

我的 Spring 应用程序配置:

@EnableSwagger2

@ComponentScan({ "com.ws.repository", "com.ws.service", "com.ws.controller" })

@EntityScan("com.ws.entity")

@EnableJpaRepositories(basePackages = "com.ws.repository")

public class MyServiceApplication {
...
}

预计:

我想使用同一个 jndi 数据源,因为我想部署许多只使用一个数据源的服务

我解决了修改数据源的服务器目标(全部,包括 AdminServer)并保存配置

尝试default DataSource,并设置查找名称(java:comp/DefaultDataSource),并检查它是否有效。

我有 an example using Spring with Wildfly,所有 JNDI 名称(Datasource、JMS、Java Mail、EntityManagerFactory 等)都运行良好。