开发者社区> 问答> 正文

MonitorClientContextListener 这个listener为啥好多项目都没配,配

MonitorClientContextListener 这个listener为啥好多项目都没配,配了才能持久化到数据库吧 MonitorClient 里的MonitorDao没有设置,不会报空指针异常么

MonitorDaoJdbcImpl的datasource也没设置

貌似现在数据是从内存读取的,支持化数据库是不是还没完全实现啊

原提问者GitHub用户13567436138

展开
收起
山海行 2023-07-05 19:34:15 67 0
4 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    不是必须配MonitorClientContextListener,大多数项目默认就足够了
    只有配了才会持续存储统计数据到数据库
    配了后需要指定数据库表名和MonitorDao实现类
    如果MonitorDao为空,则会报空指针异常
    MonitorDao需要自己实现,Druid提供的是一个接口

    2023-07-30 16:36:35
    赞同 展开评论 打赏
  • MonitorClientContextListener是Druid提供的一个监听器,用于在应用启动时初始化Druid的监控功能并将数据持久化到数据库。这个监听器的作用是在应用启动时创建MonitorDao的实例并设置相应的数据源,以便将监控数据存储到数据库中。

    如果您的项目中没有配置MonitorClientContextListener,那么Druid的监控数据将默认保存在内存中,并没有持久化到数据库。如果需要将监控数据持久化到数据库,您需要在项目中进行相应的配置。

    2023-07-11 09:36:25
    赞同 展开评论 打赏
  • 这个功能应该是没有实现的

    原回答者GitHub用户Tongxiaolu

    2023-07-06 11:01:59
    赞同 展开评论 打赏
  • MonitorClientContextListener 是一个用来监听 MonitorClient 的上下文事件的监听器。它负责在 MonitorClient 初始化时进行一些配置和初始化操作,比如设置数据源、创建数据库表等。

    很多项目可能没有配置这个监听器是因为它提供的功能对于项目并不是必需的,或者项目本身不需要持久化数据到数据库中。如果不配置这个监听器,MonitorClient 仍然可以正常工作,但是数据将只保存在内存中,并不会持久化到数据库中。

    当你使用 MonitorDao 的时候,确实需要注意是否已经进行了正确的初始化。如果没有设置 MonitorDao 或者未设置其数据源,就有可能导致空指针异常。在使用 MonitorDao 之前,你需要确保正确地配置了它所依赖的组件,包括数据源。

    从你的描述来看,现在的数据是从内存中读取的,而不是从数据库中读取。这可能意味着持久化到数据库的功能还没有完全实现,或者你的配置存在问题。你可以检查一下配置文件或者相关代码,确保正确地设置了数据源和其他必要的参数,以便将数据持久化到数据库中。

    2023-07-05 19:54:08
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载