春季启动WebLogic 12c Jndi数据源

时间:2019-11-10 10:35:55

标签: spring-boot datasource jndi weblogic12c

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

没有Jndi数据源,一切都可以正常工作。 我试图在WebLogic上配置名称为“ jdbc / MyDataSource”的数据源,并在我的应用程序中设置了类似的属性:

spring.datasource.jndi-name=jdbc/MyDataSource

但是,当我部署Web应用程序时,出现以下错误:

  

weblogic.application.ModuleException:   javax.naming.NameNotFoundException:尝试查找时   'jdbc.MyDataSource'找不到子上下文'jdbc'。解决 '';   剩余名称'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 App配置:

@EnableSwagger2

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

@EntityScan("com.ws.entity")

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

public class MyServiceApplication {
...
}

预期:

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

2 个答案:

答案 0 :(得分:0)

我解决了修改数据源的服务器目标(包括AdminServer在内)的所有问题,并保存了配置

答案 1 :(得分:0)

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

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