我正在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数据源,因为我想部署仅使用一个数据源的许多服务
答案 0 :(得分:0)
我解决了修改数据源的服务器目标(包括AdminServer在内)的所有问题,并保存了配置
答案 1 :(得分:0)
尝试使用default DataSource,并设置查找名称( java:comp / DefaultDataSource ),然后检查其是否有效。
我有an example using Spring with Wildfly,所有JNDI名称(数据源,JMS,Java Mail,EntityManagerFactory等)都运行良好。