如何从IBM WebSphere 9在Spring Boot中获取JNDI数据源

问题描述 投票:1回答:1

[尝试使用jdbc作为SQL Server将SpringBoot应用程序部署到WebSphere 9。我需要从Websphere设置(而不是从app.properties)获取jdbc用户名和密码。

据我了解,我可以使用InitialConfig.lookup()或JndiDataSourceLookup,但如何找到数据库,用户名和密码?

java spring-boot websphere jndi
1个回答
2
投票

选项1:

将以下属性添加到application.properties

spring.datasource.jndi-name=jdbc/jndiName

在Spring Boot主类或配置类中添加数据源Bean定义

 @Autowired
 private Environment env;

@Bean
public DataSource dataSource() throws NamingException {
    return (DataSource) new JndiTemplate()
                             .lookup(env.getProperty("spring.datasource.jndi-name"));
 }

选项2:

使用Java标准API

DataSource ds = javax.naming.InitialContext.doLookup("jdbc/jndiName");
© www.soinside.com 2019 - 2024. All rights reserved.