--- a/jdk/src/share/classes/javax/management/remote/JMXConnectorFactory.java Thu Nov 06 12:12:39 2008 -0500
+++ b/jdk/src/share/classes/javax/management/remote/JMXConnectorFactory.java Fri Nov 07 11:48:07 2008 +0100
@@ -322,10 +322,12 @@
JMXConnectorProvider.class;
final String protocol = serviceURL.getProtocol();
final String providerClassName = "ClientProvider";
+ final JMXServiceURL providerURL = serviceURL;
- JMXConnectorProvider provider =
- getProvider(serviceURL, envcopy, providerClassName,
- targetInterface, loader);
+ JMXConnectorProvider provider = getProvider(providerURL, envcopy,
+ providerClassName,
+ targetInterface,
+ loader);
IOException exception = null;
if (provider == null) {
@@ -336,7 +338,7 @@
if (loader != null) {
try {
JMXConnector connection =
- getConnectorAsService(loader, serviceURL, envcopy);
+ getConnectorAsService(loader, providerURL, envcopy);
if (connection != null)
return connection;
} catch (JMXProviderException e) {
@@ -345,8 +347,7 @@
exception = e;
}
}
- provider =
- getProvider(protocol, PROTOCOL_PROVIDER_DEFAULT_PACKAGE,
+ provider = getProvider(protocol, PROTOCOL_PROVIDER_DEFAULT_PACKAGE,
JMXConnectorFactory.class.getClassLoader(),
providerClassName, targetInterface);
}
@@ -448,9 +449,10 @@
getProviderIterator(JMXConnectorProvider.class, loader);
JMXConnector connection;
IOException exception = null;
- while(providers.hasNext()) {
+ while (providers.hasNext()) {
+ JMXConnectorProvider provider = providers.next();
try {
- connection = providers.next().newJMXConnector(url, map);
+ connection = provider.newJMXConnector(url, map);
return connection;
} catch (JMXProviderException e) {
throw e;
@@ -553,4 +555,5 @@
private static String protocol2package(String protocol) {
return protocol.replace('+', '.').replace('-', '_');
}
+
}