如何在 Spring 从 IBM WebSphere 9 启动时获取 JNDI 数据源
How to get JNDI datasource in Spring Boot from IBM WebSphere 9
尝试使用 jdbc 作为 SQL 服务器将 SpringBoot 应用程序部署到 WebSphere 9。
我需要从 websphere 设置中获取 jdbc 用户名和密码(而不是从 app.properties)。
据我所知,我可以使用 InitialConfig.lookup() 或 JndiDataSourceLookup,但我如何找到数据库、用户名和密码?
选项 1:
将以下属性添加到application.properties
spring.datasource.jndi-name=jdbc/jndiName
在 spring boot main class 或 config class
中添加数据源 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");
尝试使用 jdbc 作为 SQL 服务器将 SpringBoot 应用程序部署到 WebSphere 9。 我需要从 websphere 设置中获取 jdbc 用户名和密码(而不是从 app.properties)。
据我所知,我可以使用 InitialConfig.lookup() 或 JndiDataSourceLookup,但我如何找到数据库、用户名和密码?
选项 1:
将以下属性添加到application.properties
spring.datasource.jndi-name=jdbc/jndiName
在 spring boot main class 或 config class
中添加数据源 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");