/*
* Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package javax.management.remote;
import java.io.IOException;
import java.util.Map;
import javax.management.MBeanServer;
A provider for creating JMX API connector servers using a given protocol. Instances of this interface are created by JMXConnectorServerFactory
as part of its
newJMXConnectorServer
method.
Since: 1.5
/**
* <p>A provider for creating JMX API connector servers using a given
* protocol. Instances of this interface are created by {@link
* JMXConnectorServerFactory} as part of its {@link
* JMXConnectorServerFactory#newJMXConnectorServer(JMXServiceURL,Map,MBeanServer)
* newJMXConnectorServer} method.</p>
*
* @since 1.5
*/
public interface JMXConnectorServerProvider {
Creates a new connector server at the given address. Each
successful call to this method produces a different
JMXConnectorServer
object.
Params: - serviceURL – the address of the new connector server. The actual address of the new connector server, as returned by its
getAddress
method, will not necessarily be exactly the same. For example, it might include a port number if the original address did not. - environment – a read-only Map containing named attributes
to control the new connector server's behavior. Keys in this
map must be Strings. The appropriate type of each associated
value depends on the attribute.
- mbeanServer – the MBean server that this connector server
is attached to. Null if this connector server will be attached
to an MBean server by being registered in it.
Throws: - NullPointerException – if
serviceURL
or
environment
is null. - IOException – It is recommended for a provider implementation to throw
MalformedURLException
if the protocol in the serviceURL
is not recognized by this provider, JMXProviderException
if this is a provider for the protocol in serviceURL
but it cannot be used for some reason or any other IOException
if the connector server cannot be created.
Returns: a JMXConnectorServer
representing the new
connector server. Each successful call to this method produces
a different object.
/**
* <p>Creates a new connector server at the given address. Each
* successful call to this method produces a different
* <code>JMXConnectorServer</code> object.</p>
*
* @param serviceURL the address of the new connector server. The
* actual address of the new connector server, as returned by its
* {@link JMXConnectorServer#getAddress() getAddress} method, will
* not necessarily be exactly the same. For example, it might
* include a port number if the original address did not.
*
* @param environment a read-only Map containing named attributes
* to control the new connector server's behavior. Keys in this
* map must be Strings. The appropriate type of each associated
* value depends on the attribute.
*
* @param mbeanServer the MBean server that this connector server
* is attached to. Null if this connector server will be attached
* to an MBean server by being registered in it.
*
* @return a <code>JMXConnectorServer</code> representing the new
* connector server. Each successful call to this method produces
* a different object.
*
* @exception NullPointerException if <code>serviceURL</code> or
* <code>environment</code> is null.
*
* @exception IOException It is recommended for a provider
* implementation to throw {@code MalformedURLException} if the
* protocol in the {@code serviceURL} is not recognized by this
* provider, {@code JMXProviderException} if this is a provider
* for the protocol in {@code serviceURL} but it cannot be used
* for some reason or any other {@code IOException} if the
* connector server cannot be created.
*/
public JMXConnectorServer newJMXConnectorServer(JMXServiceURL serviceURL,
Map<String,?> environment,
MBeanServer mbeanServer)
throws IOException;
}