你好杰米 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跟数据库的数据同步那些就需要根据自己项目情况去处理了。我这边没有啥高并发之类的情况,没做太多处理。

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集