Merge pull request #751 from wenshao/master

bug fixed for mbean register
This commit is contained in:
高铁
2014-12-16 22:08:06 +08:00
2 changed files with 16 additions and 3 deletions
@@ -1394,8 +1394,12 @@ public class DruidDataSource extends DruidAbstractDataSource
public Object run() {
ObjectName objectName = DruidDataSourceStatManager.addDataSource(DruidDataSource.this,
DruidDataSource.this.name);
DruidDataSource.this.setObjectName(objectName);
DruidDataSource.this.mbeanRegistered = true;
if (objectName != null) {
DruidDataSource.this.setObjectName(objectName);
DruidDataSource.this.mbeanRegistered = true;
}
return null;
}
});
@@ -127,10 +127,19 @@ public class DruidDataSourceStatManager implements DruidDataSourceStatManagerMBe
}
public synchronized static ObjectName addDataSource(Object dataSource, String name) {
if (dataSource == null || name == null) {
return null;
}
final IdentityHashMap<Object, ObjectName> instances = getInstances();
synchronized (instances) {
MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
if (mbeanServer == null) {
return null;
}
if (instances.size() == 0) {
try {