Vagrant + VMBox 踩坑记录

VMBox 开机不能跑 Vagrant脚本

项目正常使用了一小段时间,然后重启电脑。按照以往的习惯,既然 vagrant 配置好了,就使用 box 开虚拟机。然而,不使用 vagrant up 的命令启动方式开启虚拟机, 他不会跑脚本!!!因为 vmbox 才不会管你 vagrant 的事情呢。
1.应用启动 redis 不能使用却无任何报错

  • 在知道这个之前,项目稍微调整了下。但换汤不换药的调整不应出现问题,重点在于现在一直跑都不会报 redis 连接失败的异常!
    所以一直没去怀疑 redis 服务出了问题,并且 redis set 和 get 竟然都没报异常!

2.当appContext为null为完成依赖注入时被调用

  • 于是,调整服务在项目启动后的执行时期,又出现了 SpringContextUtil 的 appContext 依赖注入未完成就被调用了。
    然后就是 使用了 各种 @Lazy(false) @ConditionalOnBean("") @PostConstruct 去解决但没用。
    最后尝试了把 SpringContextUtil 从 jar 包里拿到 启动类同级目录,仅仅解决了当前问题。

3.调整服务执行时期

  • 依赖注入 是在 bean注入 之后,所以只要让 服务 在 依赖注入 之后执行就可以了,所以使用 实现ApplicationRunner的run方法 解决。
  • 于是项目正常启动,控制台日志却依然平静。只好用 RedisPlus 测下连接,好家伙,真的不能用。就猜到了这个问题,测到了这个问题。
  • 项目正常运行后, SpringContextUtil 是 util工程的 jar 包,必然要原样地还回去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值