1. 程式人生 > >Spring Boot JNDI:Spring Boot中怎麼玩JNDI

Spring Boot JNDI:Spring Boot中怎麼玩JNDI

    @Bean
    public DataSource masterDataSource() throws IllegalArgumentException, NamingException {
        JndiObjectFactoryBean bean = new JndiObjectFactoryBean();
        bean.setJndiName("jdbc/test");
        bean.setProxyInterface(DataSource.class);
        bean.setLookupOnStartup(false);
        bean.setResourceRef(true);
        bean.afterPropertiesSet();
        return (DataSource) bean.getObject();
    }

tomcat 中context.xml配置

<Resource name="jdbc/test" 
	auth="Container" 
	driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://locahlhost:3306/test?useUnicode=true&amp;characterEncoding=utf8&amp;zeroDateTimeBehavior=convertToNull&amp;useSSL=true"
	username="supbaoxuan" 
	password="root" 
	testOnBorrow="true" 
	type="javax.sql.DataSource"
    initialSize="3" 
	maxIdle="10" 
	maxTotal="15" 
	maxWaitMillis="30000" 
	minIdle="3"  
    validationQuery="select 'X'"/>

Spring Boot 2.0版本怎麼玩呢?

2.1 打包成war包

       通過上一篇文章,我們可以把配置放到tomcat/conf/context.xml裡,那麼在Spring Boot中,我們只要配置jndi指向的名稱就可以了,對於這個點的,Spring Boot還是提供了相應的配置的,在application.properties新增如下配置:

spring.datasource.jndi-name=jdbc/test