/*
* Copyright 2004-2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
import com.sun.appserv.management.client.AppserverConnectionSource;
import com.sun.appserv.management.client.TLSParams;
import com.sun.appserv.management.client.TrustAnyTrustManager;
import javax.management.MBeanServerConnection;
import javax.net.ssl.X509TrustManager;
/** A class to create an @{link MBeanServerConnection} to appserver.
*/
public class MBeanServerConnectionFactory {
/** Creates a new instance of MBeanServerConnectionFactory */
private MBeanServerConnectionFactory() {
}
public static final MBeanServerConnection getMBeanServerConnectionHTTPOrHTTPS(final String adminUser, final String
adminPassword, final String adminHost, final String adminPort, final String isSecure) throws RuntimeException {
MBeanServerConnection mbsc = null;
try {
final String protocol = AppserverConnectionSource.PROTOCOL_HTTP;
final int port = Integer.parseInt(adminPort);
final boolean sec = Boolean.parseBoolean(isSecure);
final TLSParams tlsp = sec ? getDummyTLSParams() : null;
final AppserverConnectionSource acs = new AppserverConnectionSource(protocol, adminHost, port, adminUser, adminPassword, tlsp, null);
mbsc = acs.getMBeanServerConnection(true);
return ( mbsc );
} catch(final Exception e) {
throw new RuntimeException(e);
}
}
private static TLSParams getDummyTLSParams() {
final X509TrustManager[] tms = TrustAnyTrustManager.getInstanceArray();
return ( new TLSParams(tms, null) );
}
}