クラス org.objectweb.cjdbc.console.jmx.JmxClient

org.objectweb.cjdbc.console.jmx.JmxClientに対する継承グラフ

Inheritance graph
[凡例]
すべてのメンバ一覧

説明

This class is responsible for connecting to the JRMP adaptor of the MBean server via the JRMP connector provided by mx4j.It is used to connect to the JmxAgent or to any of its subclasses.

作者:
Nicolas Modrzyk
バージョン:
1.0

JmxClient.java53 行で定義されています。

Public メソッド

void connect (String host, String port, Object credentials) throws JmxException
void addNotificationListener (NotificationListener listener, NotificationFilter filter, Object handback) throws InstanceNotFoundException, IOException
void checkConnection () throws JmxException
boolean validateTarget ()
Object invoke (String methodName, Object[] parameters) throws JmxException, MBeanException
Object invoke (String methodName, Object[] parameters, String[] paramTypes) throws JmxException, MBeanException
String getRemoteHostAddress ()
String getRemoteHostName ()
String getRemoteHostPort ()
Object getCredentials ()
String getRemoteName ()

Protected 変数

MBeanServerConnection server
String remoteHostName
String remoteHostAddress
String remoteHostPort
Object credentials
ObjectName mbean


メソッド

void org.objectweb.cjdbc.console.jmx.JmxClient.addNotificationListener NotificationListener  listener,
NotificationFilter  filter,
Object  handback
throws InstanceNotFoundException, IOException
 

Add a listener to this jmx client

引数:
listener notification listener
filter notification filter
handback handback
例外:
InstanceNotFoundException if an error occurs
IOException if an error occurs
JmxClient.java121 行で定義されています。

参照先 org.objectweb.cjdbc.console.jmx.JmxClient.mbean, と org.objectweb.cjdbc.console.jmx.JmxClient.server.

00124 { 00125 server.addNotificationListener(mbean, listener, filter, handback); 00126 }

void org.objectweb.cjdbc.console.jmx.JmxClient.checkConnection  )  throws JmxException
 

Check if the connection to the MBean server is still valid.

例外:
JmxException if connection is not valid, and reconnection has failed
JmxClient.java134 行で定義されています。

参照先 org.objectweb.cjdbc.console.jmx.JmxClient.connect(), org.objectweb.cjdbc.console.jmx.JmxClient.credentials, org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostName, org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostPort, と org.objectweb.cjdbc.console.jmx.JmxClient.server.

参照元 org.objectweb.cjdbc.console.jmx.JmxClient.invoke().

00135 { 00136 try 00137 { 00138 int count = server.getMBeanCount().intValue(); 00139 // MBeanInfo info = server.getMBeanInfo(mbean); 00140 // MBeanOperationInfo[] infos = info.getOperations(); 00141 // for(int i = 0;i<infos.length;i++) 00142 // { 00143 // System.out.println(infos[i].getName()); 00144 // } 00145 if (JmxConstants.DEBUG) 00146 System.out.println("#DEBUG@Server Count " + count + " MBeans"); 00147 } 00148 catch (Exception re) 00149 { 00150 try 00151 { 00152 if (JmxConstants.DEBUG) 00153 System.out.println("Connection lost. Trying to reconnect..."); 00154 connect(remoteHostName, remoteHostPort, credentials); 00155 } 00156 catch (Exception e) 00157 { 00158 throw new JmxException("Could not reconnect to host:" + remoteHostName); 00159 } 00160 } 00161 }

void org.objectweb.cjdbc.console.jmx.JmxClient.connect String  host,
String  port,
Object  credentials
throws JmxException
 

Find the naming service and connect tor the JmxAgent on the controller side.

引数:
host - the host where the controller is running
port - on which the rmi has been set up
credentials - username and password
例外:
JmxException if fails

org.objectweb.cjdbc.console.jmx.ControllerJmxClientで再定義されています。

JmxClient.java72 行で定義されています。

参照先 org.objectweb.cjdbc.console.jmx.JmxClient.credentials, org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostAddress, org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostName, org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostPort, と org.objectweb.cjdbc.console.jmx.JmxClient.server.

参照元 org.objectweb.cjdbc.console.jmx.JmxClient.checkConnection(), と org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.DataCollectorJmxClient().

00074 { 00075 try 00076 { 00077 this.credentials = credentials; 00078 //Create a JRMPConnector 00079 javax.management.remote.JMXServiceURL address = new JMXServiceURL("rmi", 00080 host, 0, "/jndi/jrmp"); 00081 00082 // Pass in the adaptor's JNDI name, no properties 00083 java.util.Map environment = new java.util.HashMap(); 00084 environment.put(Context.INITIAL_CONTEXT_FACTORY, 00085 "com.sun.jndi.rmi.registry.RegistryContextFactory"); 00086 environment.put(Context.PROVIDER_URL, "rmi://" + host + ":" + port); 00087 00088 if (credentials != null) 00089 environment.put(JMXConnector.CREDENTIALS, credentials); 00090 00091 JMXConnector connector = JMXConnectorFactory.newJMXConnector(address, 00092 environment); 00093 connector.connect(environment); 00094 00095 // Use the connector directly to retrieve some information 00096 // about host name and IP address 00097 remoteHostName = host; 00098 remoteHostAddress = host; 00099 remoteHostPort = port; 00100 00101 // Get the remote MBeanServer from the connector 00102 // And use it as if it is an MBeanServer 00103 server = connector.getMBeanServerConnection(); 00104 00105 } 00106 catch (Exception e) 00107 { 00108 throw new JmxException(e); 00109 } 00110 }

Object org.objectweb.cjdbc.console.jmx.JmxClient.getCredentials  ) 
 

戻り値:
Returns the credentials.
JmxClient.java277 行で定義されています。

参照先 org.objectweb.cjdbc.console.jmx.JmxClient.credentials.

00278 { 00279 return credentials; 00280 }

String org.objectweb.cjdbc.console.jmx.JmxClient.getRemoteHostAddress  ) 
 

戻り値:
Returns the remoteHostAddress.
JmxClient.java253 行で定義されています。

参照先 org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostAddress.

00254 { 00255 return remoteHostAddress; 00256 }

String org.objectweb.cjdbc.console.jmx.JmxClient.getRemoteHostName  ) 
 

戻り値:
Returns the remoteHostName.
JmxClient.java261 行で定義されています。

参照先 org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostName.

参照元 org.objectweb.cjdbc.console.gui.CjdbcGui.actionStartControllerLoggingThread().

00262 { 00263 return remoteHostName; 00264 }

String org.objectweb.cjdbc.console.jmx.JmxClient.getRemoteHostPort  ) 
 

戻り値:
Returns the remoteHostPort.
JmxClient.java269 行で定義されています。

参照先 org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostPort.

00270 { 00271 return remoteHostPort; 00272 }

String org.objectweb.cjdbc.console.jmx.JmxClient.getRemoteName  ) 
 

Get the controller name used for jmx connection This is [hostname]:[jmxServerPort]

戻り値:
remoteHostName+":"+remoteHostPort
JmxClient.java288 行で定義されています。

参照先 org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostName, と org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostPort.

00289 { 00290 return remoteHostName + ":" + remoteHostPort; 00291 }

Object org.objectweb.cjdbc.console.jmx.JmxClient.invoke String  methodName,
Object[]  parameters,
String[]  paramTypes
throws JmxException, MBeanException
 

Invoke the method on the mbean server

引数:
methodName name of the method to invoke
parameters list of parameters as objects
paramTypes force types of parameters as described
戻り値:
Object as declared in the mbean interface
例外:
JmxException if jmx fails,can throw other exception as declared in the mbean interface
MBeanException if the call failed on the server side
JmxClient.java216 行で定義されています。

参照先 org.objectweb.cjdbc.console.jmx.JmxClient.checkConnection(), org.objectweb.cjdbc.console.jmx.JmxClient.mbean, と org.objectweb.cjdbc.console.jmx.JmxClient.server.

00218 { 00219 if (JmxConstants.DEBUG) 00220 System.out.println("#DEBUG#" + methodName + " for mbean:" 00221 + mbean.getCanonicalName() + " on:" + this.remoteHostName); 00222 if (JmxConstants.KEEP_CONNECTION_ALIVE) 00223 checkConnection(); 00224 try 00225 { 00226 return server.invoke(mbean, methodName, parameters, paramTypes); 00227 } 00228 catch (InstanceNotFoundException e) 00229 { 00230 throw new JmxException(e.getMessage()); 00231 } 00232 catch (MBeanException e) 00233 { 00234 throw e; 00235 } 00236 catch (ReflectionException e) 00237 { 00238 throw new JmxException(e.getMessage()); 00239 } 00240 catch (RemoteException e) 00241 { 00242 throw new JmxException(e.getMessage()); 00243 } 00244 catch (java.io.IOException e) 00245 { 00246 throw new JmxException(e.getMessage(), e); 00247 } 00248 }

Object org.objectweb.cjdbc.console.jmx.JmxClient.invoke String  methodName,
Object[]  parameters
throws JmxException, MBeanException
 

Call invoke with automatic naming of parameters. This does not get abstract classes

引数:
methodName name of the method to invoke
parameters list of parameters as objects
戻り値:
Object as declared in the mbean interface
例外:
JmxException if jmx fails, can throw other exception as well
MBeanException if the command fails on the server side
JmxClient.java190 行で定義されています。

参照元 org.objectweb.cjdbc.console.jmx.ControllerJmxClient.addDriver(), org.objectweb.cjdbc.console.jmx.ControllerJmxClient.addVirtualDatabase(), org.objectweb.cjdbc.console.jmx.ControllerJmxClient.addVirtualDatabases(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.backupBackendWithCheckpoint(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.checkAdminAuthentication(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.disableAllBackend(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.disableAllBackendForCheckpoint(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.disableBackend(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.disableBackendForCheckpoint(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.enableAllBackend(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.enableBackend(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.enableBackendFromCheckpoint(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.getAllBackendNames(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.getBackendInformation(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.getBackendState(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.getCheckpointNames(), org.objectweb.cjdbc.console.jmx.ControllerJmxClient.getInfo(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.getOwningController(), org.objectweb.cjdbc.console.jmx.ControllerJmxClient.getXml(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.hasRecoveryLog(), org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.hasVirtualDatabase(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.isDistributed(), org.objectweb.cjdbc.console.jmx.ControllerJmxClient.isDistributedVirtualDatabase(), org.objectweb.cjdbc.console.jmx.ControllerJmxClient.listBackends(), org.objectweb.cjdbc.console.jmx.ControllerJmxClient.listVirtualDatabases(), org.objectweb.cjdbc.console.jmx.ControllerJmxClient.loadXML(), org.objectweb.cjdbc.console.jmx.ControllerJmxClient.refreshLogConfiguration(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.removeCheckpoint(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.replicateBackend(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.restoreBackendFromBackupCheckpoint(), org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.retrieveBackendsData(), org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.retrieveCacheData(), org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.retrieveCacheStatsData(), org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.retrieveClientsData(), org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.retrieveControllerLoadData(), org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.retrieveData(), org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.retrieveDataCollectorInstance(), org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.retrieveSchedulerData(), org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.retrieveSQLStats(), org.objectweb.cjdbc.console.jmx.DataCollectorJmxClient.retrieveVirtualDatabasesData(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.shutdown(), org.objectweb.cjdbc.console.jmx.VirtualDatabaseJmxClient.viewControllerList(), org.objectweb.cjdbc.console.jmx.ControllerJmxClient.viewDatabasesXml(), と org.objectweb.cjdbc.console.jmx.ControllerJmxClient.viewDatabaseXml().

00192 { 00193 if (parameters == null) 00194 return this.invoke(methodName, null, null); 00195 else 00196 { 00197 int size = parameters.length; 00198 String[] paramTypes = new String[size]; 00199 for (int i = 0; i < size; i++) 00200 paramTypes[i] = parameters[i].getClass().getName(); 00201 return this.invoke(methodName, parameters, paramTypes); 00202 } 00203 }

boolean org.objectweb.cjdbc.console.jmx.JmxClient.validateTarget  ) 
 

Check whether the database name is valid

戻り値:
true if the database name exists on the controller, false otherwise
JmxClient.java168 行で定義されています。

参照先 org.objectweb.cjdbc.console.jmx.JmxClient.mbean, と org.objectweb.cjdbc.console.jmx.JmxClient.server.

00169 { 00170 try 00171 { 00172 return server.isRegistered(mbean); 00173 } 00174 catch (Exception e) 00175 { 00176 return false; 00177 } 00178 }


変数

Object org.objectweb.cjdbc.console.jmx.JmxClient.credentials [protected]
 

JmxClient.java60 行で定義されています。

参照元 org.objectweb.cjdbc.console.jmx.JmxClient.checkConnection(), org.objectweb.cjdbc.console.jmx.JmxClient.connect(), と org.objectweb.cjdbc.console.jmx.JmxClient.getCredentials().

ObjectName org.objectweb.cjdbc.console.jmx.JmxClient.mbean [protected]
 

JmxClient.java61 行で定義されています。

参照元 org.objectweb.cjdbc.console.jmx.JmxClient.addNotificationListener(), org.objectweb.cjdbc.console.jmx.JmxClient.invoke(), と org.objectweb.cjdbc.console.jmx.JmxClient.validateTarget().

String org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostAddress [protected]
 

JmxClient.java58 行で定義されています。

参照元 org.objectweb.cjdbc.console.jmx.JmxClient.connect(), と org.objectweb.cjdbc.console.jmx.JmxClient.getRemoteHostAddress().

String org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostName [protected]
 

JmxClient.java57 行で定義されています。

参照元 org.objectweb.cjdbc.console.jmx.JmxClient.checkConnection(), org.objectweb.cjdbc.console.jmx.JmxClient.connect(), org.objectweb.cjdbc.console.jmx.JmxClient.getRemoteHostName(), と org.objectweb.cjdbc.console.jmx.JmxClient.getRemoteName().

String org.objectweb.cjdbc.console.jmx.JmxClient.remoteHostPort [protected]
 

JmxClient.java59 行で定義されています。

参照元 org.objectweb.cjdbc.console.jmx.JmxClient.checkConnection(), org.objectweb.cjdbc.console.jmx.JmxClient.connect(), org.objectweb.cjdbc.console.jmx.JmxClient.getRemoteHostPort(), と org.objectweb.cjdbc.console.jmx.JmxClient.getRemoteName().

MBeanServerConnection org.objectweb.cjdbc.console.jmx.JmxClient.server [protected]
 

JmxClient.java56 行で定義されています。

参照元 org.objectweb.cjdbc.console.jmx.JmxClient.addNotificationListener(), org.objectweb.cjdbc.console.jmx.JmxClient.checkConnection(), org.objectweb.cjdbc.console.jmx.JmxClient.connect(), org.objectweb.cjdbc.console.jmx.JmxClient.invoke(), と org.objectweb.cjdbc.console.jmx.JmxClient.validateTarget().


このクラスの説明は次のファイルから生成されました:
CJDBCversion1.0.4に対してTue Oct 12 15:16:24 2004に生成されました。 doxygen 1.3.8