你好杰米 2019-01-02 10:57 采纳率: 87.5%
浏览 842
已结题

【JAVA】怎么样在spring创建bean失败的时候能正常启动,比如mongoDB

项目中使用了mongoDB,但是经常mongodb的服务器崩溃,然后启动项目的时候就会因为无法初始化Mongtemplete而启动失败

这里想问一个解决方法,项目中有个接口是查mongodb的,在目前代码基础上
怎么样不管mongodb是否挂了,都能启动项目,没挂的时候启动了让接口可以用
mongodb挂了的话接口用不了就是了

或者大家是怎么处理这些情况呢,因为说是什么要保证项目尽量对除了数据库意外的东西弱依赖????

求解

  • 写回答

1条回答 默认 最新

  • Java全栈路线 2021-02-03 16:41
    关注
    我这边的项目用的 Redis,POM包是
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
            </dependency>
    
    对象获取
    /**
     * REDIS
     */
    private final StringRedisTemplate redisTemplate;
    private final ValueOperations<String, String> redis;
    /**
     * 构造函数
     */
    public UserServiceImpl(StringRedisTemplate redisTemplate) {
        this.redisTemplate = redisTemplate;
        this.redis = redisTemplate.opsForValue();
    }

    代码实现

    // 删除临时数据
    try {
        redisTemplate.delete(“”);
    } catch (RedisConnectionFailureException e) {
        this.getBaseMapper().remove(“”);
    }

    捕获的 Redis 的连接异常来实现调整,redis 正常的时候用redis的功能,redis 挂了的时候就通过数据库来删除,至于redis跟数据库的数据同步那些就需要根据自己项目情况去处理了。我这边没有啥高并发之类的情况,没做太多处理。

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制