Spring Boot JNDI:Spring Boot中怎麼玩JNDI
阿新 • • 發佈:2018-11-29
@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&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&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