情况是这样的,在没有添加 jmxUsername 和 jmxPassword 前,druid 的连接是正常的,数据可以获取到,但是添加了 jmxUsername 和 jmxPassword 之后数据源的页面就出现了 property for user to setup 的问题,后尝试过使用JConsole去连接这个SE程序暴露出来的JMX,是没有问题,所以预计是webApp的问题,请问下这个知道是怎么回事么
发现是param-init 的时候搞错了,用把jmxUsername和jmxPassword包在了一起,但是改成了这样 DruidStatViewCashierDaemon com.alibaba.druid.support.http.StatViewServlet jmxUrl service:jmx:rmi:///jndi/rmi://ip:port/jmxrmi jmxUsername jmxUsername jmxPassword jmxPassword
就出现了这种数据源 undefined 的情况
原提问者GitHub用户gzchenwenchao
当您添加了jmxUsername
和jmxPassword
属性后,出现了"(*) property for user to setup"的问题。这可能是由于配置文件中参数初始化时出现了错误。
根据您提供的配置信息:
DruidStatViewCashierDaemon com.alibaba.druid.support.http.StatViewServlet jmxUrl service:jmx:rmi:///jndi/rmi://ip:port/jmxrmi jmxUsername jmxUsername jmxPassword jmxPassword
可以看到,jmxUsername
和jmxPassword
两个属性被重复定义了,导致了数据源的页面显示为"undefined"。
请将配置修改为以下形式:
DruidStatViewCashierDaemon com.alibaba.druid.support.http.StatViewServlet jmxUrl service:jmx:rmi:///jndi/rmi://ip:port/jmxrmi jmxUsername username jmxPassword password
其中,username
和password
是您实际要使用的用户名和密码。通过将jmxUsername
和jmxPassword
属性分别设置为正确的值,应该能够解决问题。
在使用Druid连接池时,如果在配置文件中指定了jmxUsername和jmxPassword属性,可能会出现如下警告信息:
Copy
(*) property for [com.alibaba.druid.pool.DruidDataSource@xxxxxx] is not support.
这是因为jmxUsername和jmxPassword属性不是Druid连接池支持的标准属性,因此在一些版本中可能会被认为是不支持的属性,导致出现警告信息。
不过,这个警告信息并不会影响Druid连接池的正常使用,只是提醒我们这些属性可能不被支持。同时,我们也可以通过其他方式来实现对Druid连接池的监控和管理,例如使用JMX、Servlet等方式。
问题已经解决,最后把log4j的日志打印出来之后发现,是没有权限的问题: Access denied! Invalid access level for requested MBeanServer operation 解决方案如下 http://www.elitekeyboarder.com/?p=172
原回答者GitHub用户gzchenwenchao
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。