吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1322|回复: 3
收起左侧

[求助] 求大佬给一个SpringBoot配置jndi多数据源的demo

[复制链接]
旧城旧人 发表于 2020-7-23 09:57
Yml:
[Java] 纯文本查看 复制代码
spring:
  datasource:
    jndi-name: jdbc/****


Tmocat:
[Java] 纯文本查看 复制代码
<Resource
                name="jdbc/grid-market"
                url="jdbc:mysql://localhost:3306/***?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"
                username="root"
                password="*****"
                type="com.alibaba.druid.pool.DruidDataSource"
                auth="Container"
                driverClassName="com.mysql.jdbc.Driver"
                maxIdle="30"
                maxWait="10000"
                maxActive="100"
        />


DataSourceOneConfig:
[Java] 纯文本查看 复制代码
@Configuration //注册到springboot 容器中
@MapperScan(basePackages = {""}, sqlSessionTemplateRef = "test1SqlSessionTemplate")
public class DataSourceOneConfig {
    //application.properties中的jndi名称
    @Value("${spring.datasource.jndi-name}")
    private String jndiName;

    @Bean(name = "test1DataSource", destroyMethod = "") // destroy method is disabled for Weblogic update app ability
    @ConfigurationProperties(prefix = "spring.datasource.bigdata")
    public DataSource bigdataDs() throws NamingException {
        JndiObjectFactoryBean bean = new JndiObjectFactoryBean();
        bean.setJndiName(jndiName);
        bean.setProxyInterface(DataSource.class);
        bean.setLookupOnStartup(false);
        bean.afterPropertiesSet();
        return (DataSource) bean.getObject();
    }

    @Bean(name = "test1SqlSessionFactory")
    public SqlSessionFactory testSqlSessionFactory(@Qualifier("test1DataSource") DataSource dataSource) throws Exception {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource((javax.sql.DataSource) dataSource);
        //加载其他文件,如mapper.xml
        // bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mapper/test1/*.xml"));
        return bean.getObject();
    }

    //事务管理
    @Bean(name = "test1TransactionManager")
    public DataSourceTransactionManager testTransactionManager(@Qualifier("test1DataSource") DataSource dataSource) {
        return new DataSourceTransactionManager((javax.sql.DataSource) dataSource);
    }

    @Bean(name = "test1SqlSessionTemplate")
    public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
        return new SqlSessionTemplate(sqlSessionFactory);
    }
}



这是百度到的,,但是不能用

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 旧城旧人 发表于 2020-7-23 10:16
求助大佬
Isbr 发表于 2020-7-23 10:22
 楼主| 旧城旧人 发表于 2020-7-23 18:26
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 15:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表