You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by ka...@apache.org on 2011/06/29 16:41:04 UTC
svn commit: r1141116 - in /db/derby/code/branches/10.8: ./
java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java
Author: kahatlen
Date: Wed Jun 29 14:41:04 2011
New Revision: 1141116
URL: http://svn.apache.org/viewvc?rev=1141116&view=rev
Log:
DERBY-3689: 'PrivilegedActionException: javax.management.InstanceNotFoundException' in '*(VersionMBeanTest / NetworkServerMBeanTest)'
Merged fix from trunk (revision 1138444).
Modified:
db/derby/code/branches/10.8/ (props changed)
db/derby/code/branches/10.8/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java
Propchange: db/derby/code/branches/10.8/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jun 29 14:41:04 2011
@@ -1,2 +1,2 @@
/db/derby/code/branches/10.7:1061570,1061578,1082235
-/db/derby/code/trunk:1063809,1088633,1091000,1091221,1091285,1092067,1092795,1094315,1094572,1094728,1096741,1096890,1097247,1097249,1097460,1097469,1097471,1101059,1101839,1102620,1102826,1103681,1103718,1103742,1125305,1126358,1126468,1127825,1127883,1129136,1129764,1129797,1130077,1130084,1130632,1130895,1131030,1131272,1132546,1132664,1132860,1132928,1133304,1133317,1133741,1133752,1136371,1136397,1136844,1138201,1138787,1138795,1139449,1139451
+/db/derby/code/trunk:1063809,1088633,1091000,1091221,1091285,1092067,1092795,1094315,1094572,1094728,1096741,1096890,1097247,1097249,1097460,1097469,1097471,1101059,1101839,1102620,1102826,1103681,1103718,1103742,1125305,1126358,1126468,1127825,1127883,1129136,1129764,1129797,1130077,1130084,1130632,1130895,1131030,1131272,1132546,1132664,1132860,1132928,1133304,1133317,1133741,1133752,1136371,1136397,1136844,1138201,1138444,1138787,1138795,1139449,1139451
Modified: db/derby/code/branches/10.8/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.8/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java?rev=1141116&r1=1141115&r2=1141116&view=diff
==============================================================================
--- db/derby/code/branches/10.8/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java (original)
+++ db/derby/code/branches/10.8/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java Wed Jun 29 14:41:04 2011
@@ -768,7 +768,25 @@ public final class NetworkServerControlI
{Integer.toString(portNumber), att_srvclsnm, versionString});
break;
}
-
+
+ // First, register any MBeans. We do this before we start accepting
+ // connections from the clients to ease testing of JMX (DERBY-3689).
+ // This way we know that once we can connect to the network server,
+ // the MBeans will be available.
+ ManagementService mgmtService = ((ManagementService)
+ Monitor.getSystemModule(Module.JMX));
+
+ final Object versionMBean = mgmtService.registerMBean(
+ new Version(
+ getNetProductVersionHolder(),
+ SystemPermission.SERVER),
+ VersionMBean.class,
+ "type=Version,jar=derbynet.jar");
+ final Object networkServerMBean = mgmtService.registerMBean(
+ new NetworkServerMBeanImpl(this),
+ NetworkServerMBean.class,
+ "type=NetworkServer");
+
// We accept clients on a separate thread so we don't run into a problem
// blocking on the accept when trying to process a shutdown
final ClientThread clientThread =
@@ -782,22 +800,7 @@ public final class NetworkServerControlI
}
);
clientThread.start();
-
- // Now that we are up and running, register any MBeans
- ManagementService mgmtService = ((ManagementService)
- Monitor.getSystemModule(Module.JMX));
-
- final Object versionMBean = mgmtService.registerMBean(
- new Version(
- getNetProductVersionHolder(),
- SystemPermission.SERVER),
- VersionMBean.class,
- "type=Version,jar=derbynet.jar");
- final Object networkServerMBean = mgmtService.registerMBean(
- new NetworkServerMBeanImpl(this),
- NetworkServerMBean.class,
- "type=NetworkServer");
-
+
try {
// wait until we are told to shutdown or someone sends an InterruptedException
synchronized(shutdownSync) {