我正在使用一些代码来监视我的 Tomcat (9) 连接池。但是,当我扫描数据源 MBean 时,返回的结果并不一致。有没有人解释为什么会这样?
有时我会得到三个 MBean(数据源 + 连接池 + 连接):
NAME: Catalina:type=DataSource,host=localhost,context=/,class=javax.sql.DataSource,name="jdbc/evote",connectionpool=connections,connection=1
DESC: Information on the management interface of the MBean
CLAS: org.apache.tomcat.dbcp.dbcp2.PoolableConnection
NAME: Catalina:type=DataSource,host=localhost,context=/,class=javax.sql.DataSource,name="jdbc/evote"
DESC: null
CLAS: org.apache.tomcat.util.modeler.BaseModelMBean
NAME: Catalina:type=DataSource,host=localhost,context=/,class=javax.sql.DataSource,name="jdbc/evote",connectionpool=connections
DESC: Information on the management interface of the MBean
CLAS: org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool
但在其他时候,连接池不会出现在扫描中。我只得到一个简单的数据源:
NAME: Catalina:type=DataSource,host=localhost,context=/,class=javax.sql.DataSource,name="jdbc/evote"
DESC: null
CLAS: org.apache.tomcat.util.modeler.BaseModelMBean
为什么连接池 MBean 不总是可用?