|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.vostok.management.mbean.MBeanFactory
public class MBeanFactory
An MBeanFactory is responsible to load and initialize identifed mbean TODO : gestion des erreurs, dep cycliques
Nested Class Summary | |
---|---|
static class |
MBeanFactory.ERROR
define what to do on error |
Field Summary | |
---|---|
protected java.util.HashMap<java.lang.String,org.vostok.management.mbean.MBeanFactory.BeantItem> |
mbeanList
|
Constructor Summary | |
---|---|
protected |
MBeanFactory()
|
protected |
MBeanFactory(java.lang.String name,
java.lang.String[] source,
MBeanFactory.ERROR errorLevel)
|
Method Summary | ||
---|---|---|
static MBeanFactory |
CreateFactory(java.lang.String source)
return a new factory - with default name - but indicate a single top package to look for mbean at. |
|
static MBeanFactory |
CreateFactory(java.lang.String[] source)
return a new factory - with default name - but indicate a set of packages to look for mbean at. |
|
static MBeanFactory |
CreateFactory(java.lang.String name,
java.lang.String source)
create a new factory with name "name", and scan for mbean into package "source" |
|
static MBeanFactory |
CreateFactory(java.lang.String name,
java.lang.String[] source)
create a new factory with name "name", and scan for mbean into 'source' packages |
|
static MBeanFactory |
CreateFactory(java.lang.String name,
java.lang.String[] source,
MBeanFactory.ERROR errorLevel)
create an register a new factory. whnen using the default factory, just call MBeanFactory.getFactory(). |
|
protected java.util.concurrent.FutureTask<java.lang.String> |
doStart()
start the factory. |
|
MBeanFactory.ERROR |
getErrorLevel()
get error level for this factory, default to warn |
|
static MBeanFactory |
getFactory()
will return the default factory. |
|
static MBeanFactory |
getFactory(java.lang.String name)
get factory with name "name" . |
|
static java.lang.String |
getJndi(java.lang.Class c)
return jndi for a class first look for mbean annoation, if not empty return mbean.jndi else build a jdni name using default format. |
|
|
getMbean(java.lang.Class<T> type)
This method should be used for getting an mbean instance, this factory manage. |
|
|
getMbean(java.lang.Class<T> type,
java.lang.String jndi)
retrieve mbean from jndi |
|
javax.management.MBeanServer |
getMbeanServer()
convenience method, will return mbean instance beans are registered into |
|
java.lang.String |
getName()
return the name for this factory |
|
java.lang.String[] |
getPackage()
return package jndi this factory locate annotation from |
|
boolean |
isStarted()
return true if this factory is succesfully started, meaning all bean deployed on the mbeanserver |
|
void |
start()
Start deploying mbean according to configuration. |
|
void |
startAndWait()
Synchronious version of start |
|
void |
stop()
stop this factory, and unload all mbean |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.util.HashMap<java.lang.String,org.vostok.management.mbean.MBeanFactory.BeantItem> mbeanList
Constructor Detail |
---|
protected MBeanFactory()
protected MBeanFactory(java.lang.String name, java.lang.String[] source, MBeanFactory.ERROR errorLevel)
Method Detail |
---|
public static MBeanFactory getFactory()
public static MBeanFactory getFactory(java.lang.String name)
name
-
public static MBeanFactory CreateFactory(java.lang.String[] source) throws DuplicateNameException
source
-
DuplicateNameException
public static MBeanFactory CreateFactory(java.lang.String source) throws DuplicateNameException
source
-
DuplicateNameException
public static MBeanFactory CreateFactory(java.lang.String name, java.lang.String[] source) throws DuplicateNameException
name
- source
-
DuplicateNameException
public static MBeanFactory CreateFactory(java.lang.String name, java.lang.String source) throws DuplicateNameException
name
- source
-
DuplicateNameException
public static MBeanFactory CreateFactory(java.lang.String name, java.lang.String[] source, MBeanFactory.ERROR errorLevel) throws DuplicateNameException
name
- name for this factory. if null will use MBeanFactory.DEFAULT_FACTORY_NAMEsource
- top package name where to start scanning fr mbean declarationerrorLevel
-
DuplicateNameException
- if a forctory for "name" already existpublic java.lang.String[] getPackage()
MBean
public MBeanFactory.ERROR getErrorLevel()
public java.lang.String getName()
public javax.management.MBeanServer getMbeanServer()
public void start() throws javax.management.MBeanRegistrationException, LocalDependencyException, RunningException, javax.management.MalformedObjectNameException
javax.management.MBeanRegistrationException
- if no mbean server found and cannot start none
LocalDependencyException
- : thow when target bean for a localdependencies is not annoted with MBean
java.lang.RuntimeException
- : deployement is already running
javax.management.MalformedObjectNameException
- : a jndi name dependency is an invalid name
RunningException
public void startAndWait() throws javax.management.MBeanRegistrationException, LocalDependencyException, RunningException, javax.management.MalformedObjectNameException
javax.management.MBeanRegistrationException
- if no mbean server found and cannot start none
LocalDependencyException
- : thow when target bean for a localdependencies is not annoted with MBean
java.lang.RuntimeException
- : deployement is already running
javax.management.MalformedObjectNameException
- : a jndi name dependency is an invalid name
RunningException
protected java.util.concurrent.FutureTask<java.lang.String> doStart() throws javax.management.MBeanRegistrationException, LocalDependencyException, RunningException, javax.management.MalformedObjectNameException
javax.management.MBeanRegistrationException
- if no mbean server found and cannot start none
LocalDependencyException
- : thow when target bean for a localdependencies is not annoted with MBean
java.lang.RuntimeException
- : deployement is already running
javax.management.MalformedObjectNameException
- : a jndi name dependency is an invalid name
RunningException
public boolean isStarted()
public void stop()
public <T> T getMbean(java.lang.Class<T> type) throws javax.management.InstanceNotFoundException
type
-
javax.management.InstanceNotFoundException
- if this factory doesn't manange this mbeanpublic <T> T getMbean(java.lang.Class<T> type, java.lang.String jndi) throws javax.management.InstanceNotFoundException
type
- target type for the resource (interface)jndi
- jndi name under mbean (or resource) get registered
javax.management.InstanceNotFoundException
public static java.lang.String getJndi(java.lang.Class c)
c
-
java.lang.NullPointerException
- if c is nullMBeanFactory.jndiPattern
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |