mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
DruidDataSource support mbean register & unregister
This commit is contained in:
@@ -139,6 +139,8 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
|
||||
private boolean useGloalDataSourceStat = false;
|
||||
|
||||
private boolean mbeanRegistered = false;
|
||||
|
||||
public DruidDataSource(){
|
||||
this(false);
|
||||
}
|
||||
@@ -614,8 +616,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
initedLatch.await();
|
||||
|
||||
initedTime = new Date();
|
||||
ObjectName objectName = DruidDataSourceStatManager.addDataSource(this, this.name);
|
||||
this.setObjectName(objectName);
|
||||
registerMbean();
|
||||
|
||||
if (connectError != null && poolingCount == 0) {
|
||||
throw connectError;
|
||||
@@ -1222,7 +1223,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
}
|
||||
}
|
||||
poolingCount = 0;
|
||||
DruidDataSourceStatManager.removeDataSource(this);
|
||||
unregisterMbean();
|
||||
|
||||
enable = false;
|
||||
notEmpty.signalAll();
|
||||
@@ -1243,6 +1244,25 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
}
|
||||
}
|
||||
|
||||
public void registerMbean() {
|
||||
if (!mbeanRegistered) {
|
||||
ObjectName objectName = DruidDataSourceStatManager.addDataSource(this, this.name);
|
||||
this.setObjectName(objectName);
|
||||
this.mbeanRegistered = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void unregisterMbean() {
|
||||
if (mbeanRegistered) {
|
||||
DruidDataSourceStatManager.removeDataSource(this);
|
||||
mbeanRegistered = false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isMbeanRegistered() {
|
||||
return mbeanRegistered;
|
||||
}
|
||||
|
||||
void putLast(DruidConnectionHolder e, long lastActiveTimeMillis) {
|
||||
e.setLastActiveTimeMillis(lastActiveTimeMillis);
|
||||
connections[poolingCount++] = e;
|
||||
|
||||
Reference in New Issue
Block a user