org.mc4j.ems.impl.jmx.connection
Class DConnection

java.lang.Object
  extended by org.mc4j.ems.impl.jmx.connection.DConnection

public class DConnection
extends java.lang.Object

TODO GH: Decide exception handling strategy (runtime?)

Version:
$Revision: 570 $($Author: ghinkl $ / $Date: 2006-04-12 15:14:16 -0400 (Wed, 12 Apr 2006) $)
Author:
Greg Hinkle (ghinkle@users.sourceforge.net), Apr 4, 2005

Nested Class Summary
static class DConnection.DObjectName
          Some object name implementations are not equal if the properties are in different orders.
static class DConnection.DObjectNameComparator
           
 
Field Summary
protected  java.util.SortedMap<DConnection.DObjectName,EmsBean> beanMap
           
protected  java.lang.String connectionName
           
protected  AbstractConnectionProvider connectionProvider
           
protected  boolean loaded
           
protected  java.util.List<MBeanRegistrationListener> registrationListeners
           
 
Constructor Summary
DConnection(java.lang.String connectionName, ConnectionProvider connectionProvider)
           
 
Method Summary
 void addRegistrationListener(MBeanRegistrationListener registrationListener)
           
 java.lang.Object buildObjectName(java.lang.String objectName)
           
 void close()
           
 void createMBean(java.lang.String className, java.lang.String objectName)
          This will register a new MBean, but that may not be immediately recognized
protected  EmsBean getBean(javax.management.ObjectName objectName)
           
 EmsBean getBean(java.lang.String objectName)
           
 java.util.SortedSet<EmsBean> getBeans()
           
 ConnectionProvider getConnectionProvider()
           
 long getFailures()
           
 long getRoundTrips()
           
 ConnectionTracker getTracker()
           
 void loadSynchronous(boolean deep)
          Does a *:* load of all MBean names.
 java.util.List<EmsBean> queryBeans(javax.management.ObjectName objectName, javax.management.QueryExp query)
          This will run the query, creating our internal bean representation as needed and return the full list of both previously and newly mapped beans from the corresponding query.
 java.util.List<EmsBean> queryBeans(java.lang.String objectName)
          Utility to perform a query without ObjectName in your classpath
 void refresh()
           
 EmsBean registerBean(java.lang.String className, java.lang.String objectName)
           
 EmsBean registerBean(java.lang.String className, java.lang.String objectName, java.lang.Object[] params, java.lang.String[] signature)
           
 void removeMBean(java.lang.String objectName)
           
 void removeRegistrationListener(MBeanRegistrationListener registrationListener)
           
 void setConnectionProvider(AbstractConnectionProvider connectionProvider)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

connectionName

protected java.lang.String connectionName

connectionProvider

protected AbstractConnectionProvider connectionProvider

beanMap

protected java.util.SortedMap<DConnection.DObjectName,EmsBean> beanMap

loaded

protected boolean loaded

registrationListeners

protected java.util.List<MBeanRegistrationListener> registrationListeners
Constructor Detail

DConnection

public DConnection(java.lang.String connectionName,
                   ConnectionProvider connectionProvider)
Method Detail

setConnectionProvider

public void setConnectionProvider(AbstractConnectionProvider connectionProvider)

getTracker

public ConnectionTracker getTracker()

refresh

public void refresh()

close

public void close()

loadSynchronous

public void loadSynchronous(boolean deep)
Does a *:* load of all MBean names. Puts them in a list

Parameters:
deep -

addRegistrationListener

public void addRegistrationListener(MBeanRegistrationListener registrationListener)

removeRegistrationListener

public void removeRegistrationListener(MBeanRegistrationListener registrationListener)

createMBean

public void createMBean(java.lang.String className,
                        java.lang.String objectName)
                 throws EmsException
This will register a new MBean, but that may not be immediately recognized

Parameters:
className -
objectName -
Throws:
EmsException

removeMBean

public void removeMBean(java.lang.String objectName)
                 throws EmsException
Throws:
EmsException

getBeans

public java.util.SortedSet<EmsBean> getBeans()

getBean

protected EmsBean getBean(javax.management.ObjectName objectName)

getBean

public EmsBean getBean(java.lang.String objectName)

queryBeans

public java.util.List<EmsBean> queryBeans(javax.management.ObjectName objectName,
                                          javax.management.QueryExp query)
This will run the query, creating our internal bean representation as needed and return the full list of both previously and newly mapped beans from the corresponding query.

Parameters:
objectName -
query -
Returns:
The list of EmsBeans representing mbeans that match the query

queryBeans

public java.util.List<EmsBean> queryBeans(java.lang.String objectName)
Utility to perform a query without ObjectName in your classpath

Parameters:
objectName -
Returns:
the list of EmsBeans matching your query
Throws:
java.lang.RuntimeException - when the ObjectName is not valid

registerBean

public EmsBean registerBean(java.lang.String className,
                            java.lang.String objectName)

registerBean

public EmsBean registerBean(java.lang.String className,
                            java.lang.String objectName,
                            java.lang.Object[] params,
                            java.lang.String[] signature)

getRoundTrips

public long getRoundTrips()

getFailures

public long getFailures()

buildObjectName

public java.lang.Object buildObjectName(java.lang.String objectName)
                                 throws EmsMalformedObjectNameException
Throws:
EmsMalformedObjectNameException

getConnectionProvider

public ConnectionProvider getConnectionProvider()