Package org.apache.karaf.util.tracker
Class BaseActivator
- java.lang.Object
-
- org.apache.karaf.util.tracker.BaseActivator
-
- All Implemented Interfaces:
Runnable,ThreadFactory,org.osgi.framework.BundleActivator
public class BaseActivator extends Object implements org.osgi.framework.BundleActivator, Runnable, ThreadFactory
-
-
Field Summary
Fields Modifier and Type Field Description protected org.osgi.framework.BundleContextbundleContextprotected ExecutorServiceexecutorprotected org.slf4j.Loggerlogger
-
Constructor Summary
Constructors Constructor Description BaseActivator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoClose()protected voiddoOpen()protected voiddoStart()protected voiddoStop()protected booleanensureStartupConfiguration(String configId)protected booleangetBoolean(String key, boolean def)Called indoStart().protected Class<?>[]getClassesArray(String key, String def)protected Dictionary<String,?>getConfiguration()protected intgetInt(String key, int def)Called indoStart().protected String[]getInterfaceNames(Object object)protected longgetLong(String key, long def)Called indoStart().longgetSchedulerStopTimeout()protected StringgetString(String key, String def)Called indoStart().protected String[]getStringArray(String key, String def)protected <T> TgetTrackedService(Class<T> clazz)Called indoStart().protected <T> org.osgi.framework.ServiceReference<T>getTrackedServiceRef(Class<T> clazz)protected voidmanage(String pid)Called indoOpen().ThreadnewThread(Runnable r)protected voidreconfigure()protected voidregister(Class[] clazz, Object service)Called indoStart().protected voidregister(Class[] clazz, Object service, Dictionary<String,?> props)Called indoStart().protected <T> voidregister(Class<T> clazz, T service)Called indoStart().protected <T> voidregister(Class<T> clazz, T service, Dictionary<String,?> props)Called indoStart().protected voidregisterMBean(Object mbean, String type)Called indoStart().protected voidregisterMBeanWithName(Object mbean, String name)Called indoStart().voidrun()voidsetSchedulerStopTimeout(long schedulerStopTimeout)voidstart(org.osgi.framework.BundleContext context)voidstop(org.osgi.framework.BundleContext context)protected voidtrackService(Class<?> clazz)Called indoOpen().protected voidtrackService(Class<?> clazz, String filter)Called indoOpen().protected voidtrackService(String className, String filter)voidupdated(Dictionary<String,?> properties)
-
-
-
Field Detail
-
logger
protected final org.slf4j.Logger logger
-
bundleContext
protected org.osgi.framework.BundleContext bundleContext
-
executor
protected ExecutorService executor
-
-
Method Detail
-
getSchedulerStopTimeout
public long getSchedulerStopTimeout()
-
setSchedulerStopTimeout
public void setSchedulerStopTimeout(long schedulerStopTimeout)
-
start
public void start(org.osgi.framework.BundleContext context) throws Exception- Specified by:
startin interfaceorg.osgi.framework.BundleActivator- Throws:
Exception
-
stop
public void stop(org.osgi.framework.BundleContext context) throws Exception- Specified by:
stopin interfaceorg.osgi.framework.BundleActivator- Throws:
Exception
-
doClose
protected void doClose()
-
doStop
protected void doStop()
-
ensureStartupConfiguration
protected boolean ensureStartupConfiguration(String configId) throws IOException
- Throws:
IOException
-
manage
protected void manage(String pid)
Called indoOpen().- Parameters:
pid- The configuration PID to manage (ManagedService).
-
updated
public void updated(Dictionary<String,?> properties)
-
getConfiguration
protected Dictionary<String,?> getConfiguration()
-
getInt
protected int getInt(String key, int def)
Called indoStart().- Parameters:
key- The configuration keydef- The default value.- Returns:
- The value of the configuration key if found, the default value else.
-
getBoolean
protected boolean getBoolean(String key, boolean def)
Called indoStart().- Parameters:
key- The configuration key.def- The default value.- Returns:
- The value of the configuration key if found, the default value else.
-
getLong
protected long getLong(String key, long def)
Called indoStart().- Parameters:
key- The configuration key.def- The default value.- Returns:
- The value of the configuration key if found, the default value else.
-
getString
protected String getString(String key, String def)
Called indoStart().- Parameters:
key- The configuration key.def- The default value.- Returns:
- The value of the configuration key if found, the default value else.
-
reconfigure
protected void reconfigure()
-
trackService
protected void trackService(Class<?> clazz) throws org.osgi.framework.InvalidSyntaxException
Called indoOpen().- Parameters:
clazz- The service interface to track.- Throws:
org.osgi.framework.InvalidSyntaxException- If the tracker syntax is not correct.
-
trackService
protected void trackService(Class<?> clazz, String filter) throws org.osgi.framework.InvalidSyntaxException
Called indoOpen().- Parameters:
clazz- The service interface to track.filter- The filter to use to select the services to track.- Throws:
org.osgi.framework.InvalidSyntaxException- If the tracker syntax is not correct (in the filter especially).
-
trackService
protected void trackService(String className, String filter) throws org.osgi.framework.InvalidSyntaxException
- Throws:
org.osgi.framework.InvalidSyntaxException
-
getTrackedService
protected <T> T getTrackedService(Class<T> clazz)
Called indoStart().- Type Parameters:
T- The service type.- Parameters:
clazz- The service interface to get.- Returns:
- The actual tracker service object.
-
getTrackedServiceRef
protected <T> org.osgi.framework.ServiceReference<T> getTrackedServiceRef(Class<T> clazz)
-
registerMBean
protected void registerMBean(Object mbean, String type)
Called indoStart().- Parameters:
mbean- The MBean to register.type- The MBean type to register.
-
registerMBeanWithName
protected void registerMBeanWithName(Object mbean, String name)
Called indoStart().- Parameters:
mbean- The MBean to register.name- The MBean name.
-
register
protected <T> void register(Class<T> clazz, T service)
Called indoStart().- Type Parameters:
T- The service type.- Parameters:
clazz- The service interface to register.service- The actual service instance to register.
-
register
protected <T> void register(Class<T> clazz, T service, Dictionary<String,?> props)
Called indoStart().- Type Parameters:
T- The service type.- Parameters:
clazz- The service interface to register.service- The actual service instance to register.props- The service properties to register.
-
register
protected void register(Class[] clazz, Object service)
Called indoStart().- Parameters:
clazz- The service interfaces to register.service- The actual service instance to register.
-
register
protected void register(Class[] clazz, Object service, Dictionary<String,?> props)
Called indoStart().- Parameters:
clazz- The service interfaces to register.service- The actual service instance to register.props- The service properties to register.
-
newThread
public Thread newThread(Runnable r)
- Specified by:
newThreadin interfaceThreadFactory
-
-