MonitorClientContextListener 这个listener为啥好多项目都没配,配了才能持久化到数据库吧 MonitorClient 里的MonitorDao没有设置,不会报空指针异常么
MonitorDaoJdbcImpl的datasource也没设置
貌似现在数据是从内存读取的,支持化数据库是不是还没完全实现啊
原提问者GitHub用户13567436138
不是必须配MonitorClientContextListener,大多数项目默认就足够了
只有配了才会持续存储统计数据到数据库
配了后需要指定数据库表名和MonitorDao实现类
如果MonitorDao为空,则会报空指针异常
MonitorDao需要自己实现,Druid提供的是一个接口
MonitorClientContextListener是Druid提供的一个监听器,用于在应用启动时初始化Druid的监控功能并将数据持久化到数据库。这个监听器的作用是在应用启动时创建MonitorDao的实例并设置相应的数据源,以便将监控数据存储到数据库中。
如果您的项目中没有配置MonitorClientContextListener,那么Druid的监控数据将默认保存在内存中,并没有持久化到数据库。如果需要将监控数据持久化到数据库,您需要在项目中进行相应的配置。
MonitorClientContextListener 是一个用来监听 MonitorClient 的上下文事件的监听器。它负责在 MonitorClient 初始化时进行一些配置和初始化操作,比如设置数据源、创建数据库表等。
很多项目可能没有配置这个监听器是因为它提供的功能对于项目并不是必需的,或者项目本身不需要持久化数据到数据库中。如果不配置这个监听器,MonitorClient 仍然可以正常工作,但是数据将只保存在内存中,并不会持久化到数据库中。
当你使用 MonitorDao 的时候,确实需要注意是否已经进行了正确的初始化。如果没有设置 MonitorDao 或者未设置其数据源,就有可能导致空指针异常。在使用 MonitorDao 之前,你需要确保正确地配置了它所依赖的组件,包括数据源。
从你的描述来看,现在的数据是从内存中读取的,而不是从数据库中读取。这可能意味着持久化到数据库的功能还没有完全实现,或者你的配置存在问题。你可以检查一下配置文件或者相关代码,确保正确地设置了数据源和其他必要的参数,以便将数据持久化到数据库中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。