00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030  
00031 package org.objectweb.proactive.jmx.client;
00032 
00033 import java.io.IOException;
00034 import java.io.Serializable;
00035 import java.net.MalformedURLException;
00036 
00037 import javax.management.remote.JMXConnector;
00038 import javax.management.remote.JMXConnectorFactory;
00039 import javax.management.remote.JMXServiceURL;
00040 
00041 import org.objectweb.proactive.jmx.ProActiveConnection;
00042 import org.objectweb.proactive.jmx.ProActiveJMXConstants;
00043 
00044 
00050 public class ClientConnector implements Serializable{
00051 
00052         private static final long serialVersionUID = 7966471528807607476L;
00053         private ProActiveConnection connection;
00054     private JMXConnector connector;
00055     private String url;
00056 
00061     public ClientConnector(String url) {
00062         this.url = url;
00063         connect();
00064     }
00065 
00066     
00067 
00068 
00069     private void connect() {
00070         try {
00071             
00072             this.url = "service:jmx:proactive://" + this.url +
00073                 ProActiveJMXConstants.SERVER_REGISTERED_NAME;
00074             JMXServiceURL jmxUrl = new JMXServiceURL(url);
00075             
00076             this.connector = JMXConnectorFactory.connect(jmxUrl,
00077                     ProActiveJMXConstants.PROACTIVE_JMX_ENV);
00078             
00079             this.connection = (ProActiveConnection) this.connector.getMBeanServerConnection();
00080         } catch (MalformedURLException e) {
00081             e.printStackTrace();
00082         } catch (IOException e) {
00083             e.printStackTrace();
00084         }
00085     }
00086 
00091     public ProActiveConnection getConnection() {
00092         return this.connection;
00093     }
00094 
00099     public JMXConnector getConnector() {
00100         return this.connector;
00101     }
00102 }