2019-05-16 11:23:21 卢浮宫 版权声明:本文为站长原创文章,转载请写明出处
今天做同程数据操作,使用的是springboot+mongoDB,本地代码用的是本地的mongoDB数据库,在部署到服务器上时遇到了一些列的问题,这里记录下。
①jdk版本问题
②mongoDB版本问题
②springboot版本与mongoDB版本兼容
③mongoTemplate相关
本地使用的JDK是1.8,服务器使用的是1.7。这个就没的说了,要么在服务器配置JDK8,要么改动本地代码JDK依赖。
我这里没有去改动服务器配置,在maven上改写JDK版本依赖即可。
<properties>
<java.version>1.7</java.version>
</properties>
我本地使用的版本是3.0.6,服务器版本是2.2.6.。这个在数据操作中并没有多大影响。
项目中使用springboot2.1.4,操作mongoDB使用的是mongoTemplate,但是这个对mongoDB版本有支持前提。
很不幸,又需要版本降低,我这里把springboot版本和springboot对mongo的支持版本也降低到了1.5.3
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
<relativePath/>
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>1.5.3.RELEASE</version>
</dependency>
六、结果
mongoTemplate在进行了上述操作后也是可以使用了。
七、后记
同时也遇到了 mongDB连接超时问题①首先排查了mongoDB配置信息(未发现异常)
spring.data.mongodb.host=XXX spring.data.mongodb.port=XXX spring.data.mongodb.username=XXX spring.data.mongodb.password=XXX spring.data.mongodb.database=XXX②mongoDB在2.4以上有特殊的配置方案(为啥我3.0也能使用上面的配置?)spring.data.mongodb.uri=mongodb://root(userName):root(password)@localhost(ip地址):27017(端口号)/gis(collections/数据库)③重点:mongoDB数据库也是有权限的,比如你的root用户只分配了xaDB1的权限,那么你新建的xaDB2是无法进行连接并操作的