答:
上述问题已解决好了,现在写下问题的原因和解决办法:
连接不上Mongodb数据库的原因是:**套娃 vm装centos 装 docker 再装 MongoDB **,并且vm虚拟机的网络使用的桥接模式,导致一个问题 jar报解析连接时候 本地找不到 连接 centos centos 再找路由到 docker 才能拿到,套的层级太深了,使用navicat可以连接,但是项目连接不了 。无法指定ip访问mongodb导致项目访问不到DAO总是报错。 这个涉及到计算机网络问题,我也不太明白 。
可以使用Git,做一下单体测试,测试没问题后写入项目:thread successfully connected to server with description ServerDescription{address=192.168.1.10:27017, type=ST
解决方案:在banner的maven子项目中将配置文件application.yml,改成下方的这种形式。
livegoods:
banner:
nginx:
server: http://192.168.1.10:8888/
spring:
data:
mongodb:
# 换下数据库
uri: mongodb://admin:admin@192.168.1.10:27017/livegoods?authSource=admin
application:
name: livegoods-banner
profiles:
active: mongo
server:
port: 9000
eureka:
instance:
prefer-ip-address: true # 使用ip注册,不使用主机名注册
client:
service-url:
defaultZone: http://192.168.1.10:8761/eureka
若是有遇到以上问题的,可以参考一下,我简直就是自己坑自己
一开始以为是自己的Mongodb配置文件写错了,或者是防火墙端口没有开启、mongodb的配置文件没改成任何IP访问,但是这些都解决好了,还是报错。大坑啊!