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 )
domain
(package private) String domain
filter
(package private) String filter
lastRefresh
(package private) long lastRefresh
localDomain
(package private) String localDomain
log
private static Log log
mbeans
(package private) HashMap mbeans
mserver
(package private) MBeanServer mserver
pass
(package private) String pass
prefix
(package private) String prefix
statusPath
(package private) String statusPath
updateInterval
(package private) long updateInterval
user
(package private) String user
webServerHost
(package private) String webServerHost
webServerPort
(package private) int webServerPort
destroy
public void destroy()
getDomain
public String getDomain()
getFilter
public String getFilter()
getPass
public String getPass()
getStatusPath
public String getStatusPath()
getStream
protected InputStream getStream(String qry)
throws Exception
connect to apache using http, get a list of mbeans. Can be
overriten to support different protocols ( jk/Unix domain sockets, etc )
getUpdateInterval
public long getUpdateInterval()
getUser
public String getUser()
getWebServerHost
public String getWebServerHost()
getWebServerPort
public int getWebServerPort()
init
public void init()
throws IOException
invoke
public Object invoke(Object oname,
String name,
params[] ,
signature[] )
throws MBeanException,
ReflectionException
refresh
public void refresh()
Refresh the proxies, if updateInterval passed
refreshAttributes
public void refreshAttributes()
refreshMetadata
public void refreshMetadata()
setAttribute
public void setAttribute(ObjectName oname,
Attribute attribute)
throws AttributeNotFoundException,
MBeanException,
ReflectionException
setDomain
public void setDomain(String domain)
setFilter
public void setFilter(String filter)
setPass
public void setPass(String pass)
setStatusPath
public void setStatusPath(String statusPath)
setUpdateInterval
public void setUpdateInterval(long updateInterval)
setUser
public void setUser(String user)
setWebServerHost
public void setWebServerHost(String webServerHost)
setWebServerPort
public void setWebServerPort(int webServerPort)
start
public void start()
throws IOException