SpringBoot 使用JNDI 与 Tomcat容器以及多数据源操作总结
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.jdbc.datasource.lookup.JndiDataSourceLookup;
import javax.sql.DataSource;
import java.util.Properties;
@Configuration
public class DataSourceConfig {
@Bean
public JndiDataSourceLookup dataSourceLookup() {
JndiDataSourceLookup lookup = new JndiDataSourceLookup();
Properties jndiProperties = new Properties();
jndiProperties.put("java.naming.factory.initial", "org.apache.naming.java.javaURLContextFactory");
jndiProperties.put("java.naming.provider.url", ""); // 设置Tomcat的jndi路径
lookup.setJndiProperties(jndiProperties);
return lookup;
}
@Bean
@Primary
public DataSource primaryDataSource() {
DataSource dataSource = dataSourceLookup().getDataSource("jdbc/MyDS");
return dataSource;
}
@Bean
public DataSource secondaryDataSource() {
DataSource dataSource = dataSourceLookup().getDataSource("jdbc/MySecondDS");
return dataSource;
}
}
这段代码展示了如何在Spring Boot应用中配置JNDI数据源。首先创建了JndiDataSourceLookup
的Bean,然后使用这个Bean来获取Tomcat容器中配置的主要和次要数据源。通过@Primary
注解标注主要数据源,这样Spring就会使用它作为默认的数据源。这个例子简洁明了,并且清晰地展示了如何在Spring Boot中集成JNDI数据源。
评论已关闭