org.apache.commons.modeler.mbeans
Class SimpleRemoteConnector

java.lang.Object
  |
  +--org.apache.commons.modeler.mbeans.SimpleRemoteConnector

public class SimpleRemoteConnector
extends java.lang.Object

Based on jk2 proxy. Proxy using a very simple HTTP based protocol. For efficiency, it'll get bulk results and cache them - you can force an update by calling the refreshAttributes and refreshMetadata operations on this mbean. TODO: implement the user/pass auth ( right now you must use IP based security ) TODO: eventually support https TODO: support for metadata ( mbean-descriptors ) for description and type conversions TODO: filter out trivial components ( mutexes, etc )

Author:
Costin Manolache

Field Summary
(package private)  java.lang.String domain
           
(package private)  java.lang.String filter
           
(package private)  long lastRefresh
           
(package private)  java.lang.String localDomain
           
private static Log log
           
(package private)  java.util.HashMap mbeans
           
(package private)  MBeanServer mserver
           
(package private)  java.lang.String pass
           
(package private)  java.lang.String prefix
           
(package private)  Registry reg
           
(package private)  java.lang.String statusPath
           
(package private)  long updateInterval
           
(package private)  java.lang.String user
           
(package private)  java.lang.String webServerHost
           
(package private)  int webServerPort
           
 
Constructor Summary
SimpleRemoteConnector()
           
 
Method Summary
 void destroy()
           
 java.lang.String getDomain()
           
 java.lang.String getFilter()
           
 java.lang.String getPass()
           
 java.lang.String getStatusPath()
           
protected  java.io.InputStream getStream(java.lang.String qry)
          connect to apache using http, get a list of mbeans.
 long getUpdateInterval()
           
 java.lang.String getUser()
           
 java.lang.String getWebServerHost()
           
 int getWebServerPort()
           
 void init()
           
 java.lang.Object invoke(java.lang.Object oname, java.lang.String name, java.lang.Object[] params, java.lang.String[] signature)
           
 void refresh()
          Refresh the proxies, if updateInterval passed
 void refreshAttributes()
           
 void refreshMetadata()
           
 void setAttribute(ObjectName oname, Attribute attribute)
           
 void setDomain(java.lang.String domain)
           
 void setFilter(java.lang.String filter)
           
 void setPass(java.lang.String pass)
           
 void setStatusPath(java.lang.String statusPath)
           
 void setUpdateInterval(long updateInterval)
           
 void setUser(java.lang.String user)
           
 void setWebServerHost(java.lang.String webServerHost)
           
 void setWebServerPort(int webServerPort)
           
 void start()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static Log log

webServerHost

java.lang.String webServerHost

webServerPort

int webServerPort

statusPath

java.lang.String statusPath

user

java.lang.String user

pass

java.lang.String pass

domain

java.lang.String domain

localDomain

java.lang.String localDomain

filter

java.lang.String filter

lastRefresh

long lastRefresh

updateInterval

long updateInterval

prefix

java.lang.String prefix

reg

Registry reg

mserver

MBeanServer mserver

mbeans

java.util.HashMap mbeans
Constructor Detail

SimpleRemoteConnector

public SimpleRemoteConnector()
Method Detail

getWebServerHost

public java.lang.String getWebServerHost()

setWebServerHost

public void setWebServerHost(java.lang.String webServerHost)

getWebServerPort

public int getWebServerPort()

setWebServerPort

public void setWebServerPort(int webServerPort)

getUpdateInterval

public long getUpdateInterval()

setUpdateInterval

public void setUpdateInterval(long updateInterval)

getUser

public java.lang.String getUser()

setUser

public void setUser(java.lang.String user)

getPass

public java.lang.String getPass()

getDomain

public java.lang.String getDomain()

setDomain

public void setDomain(java.lang.String domain)

setPass

public void setPass(java.lang.String pass)

getStatusPath

public java.lang.String getStatusPath()

setStatusPath

public void setStatusPath(java.lang.String statusPath)

getFilter

public java.lang.String getFilter()

setFilter

public void setFilter(java.lang.String filter)

destroy

public void destroy()

init

public void init()
          throws java.io.IOException
java.io.IOException

start

public void start()
           throws java.io.IOException
java.io.IOException

refresh

public void refresh()
Refresh the proxies, if updateInterval passed


refreshAttributes

public void refreshAttributes()

refreshMetadata

public void refreshMetadata()

invoke

public java.lang.Object invoke(java.lang.Object oname,
                               java.lang.String name,
                               java.lang.Object[] params,
                               java.lang.String[] signature)
                        throws MBeanException,
                               ReflectionException
MBeanException
ReflectionException

setAttribute

public void setAttribute(ObjectName oname,
                         Attribute attribute)
                  throws AttributeNotFoundException,
                         MBeanException,
                         ReflectionException
AttributeNotFoundException
MBeanException
ReflectionException

getStream

protected java.io.InputStream getStream(java.lang.String qry)
                                 throws java.lang.Exception
connect to apache using http, get a list of mbeans. Can be overriten to support different protocols ( jk/Unix domain sockets, etc )

java.lang.Exception


Copyright (c) 2001-2003 - Apache Software Foundation