Package org.activiti.engine
Class ProcessEngines
- java.lang.Object
-
- org.activiti.engine.ProcessEngines
-
public abstract class ProcessEngines extends java.lang.ObjectHelper for initializing and closing process engines in server environments.
All createdProcessEngines will be registered with this class.
The activiti-webapp-init webapp will call theinit()method when the webapp is deployed and it will call thedestroy()method when the webapp is destroyed, using a context-listener (org.activiti.impl.servlet.listener.ProcessEnginesServletContextListener). That way, all applications can just use thegetProcessEngines()to obtain pre-initialized and cached process engines.
Please note that there is no lazy initialization of process engines, so make sure the context-listener is configured orProcessEngines are already created so they were registered on this class.
Theinit()method will try to build oneProcessEnginefor each activiti.cfg.xml file found on the classpath. If you have more then one, make sure you specify different process.engine.name values.
-
-
Field Summary
Fields Modifier and Type Field Description protected static booleanisInitializedstatic java.lang.StringNAME_DEFAULTprotected static java.util.List<ProcessEngineInfo>processEngineInfosprotected static java.util.Map<java.lang.String,ProcessEngineInfo>processEngineInfosByNameprotected static java.util.Map<java.lang.String,ProcessEngineInfo>processEngineInfosByResourceUrlprotected static java.util.Map<java.lang.String,ProcessEngine>processEngines
-
Constructor Summary
Constructors Constructor Description ProcessEngines()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voiddestroy()closes all process engines.static ProcessEnginegetDefaultProcessEngine()static ProcessEnginegetProcessEngine(java.lang.String processEngineName)obtain a process engine by name.static ProcessEngineInfogetProcessEngineInfo(java.lang.String processEngineName)Get initialization results.static java.util.List<ProcessEngineInfo>getProcessEngineInfos()Get initialization results.static java.util.Map<java.lang.String,ProcessEngine>getProcessEngines()provides access to process engine to application clients in a managed server environment.static voidinit()Initializes all process engines that can be found on the classpath for resourcesactiviti.cfg.xml(plain Activiti style configuration) and for resourcesactiviti-context.xml(Spring style configuration).protected static voidinitProcessEngineFromSpringResource(java.net.URL resource)static booleanisInitialized()static voidregisterProcessEngine(ProcessEngine processEngine)Registers the given process engine.static ProcessEngineInforetry(java.lang.String resourceUrl)retries to initialize a process engine that previously failed.static voidsetInitialized(boolean isInitialized)static voidunregister(ProcessEngine processEngine)Unregisters the given process engine.
-
-
-
Field Detail
-
NAME_DEFAULT
public static final java.lang.String NAME_DEFAULT
- See Also:
- Constant Field Values
-
isInitialized
protected static boolean isInitialized
-
processEngines
protected static java.util.Map<java.lang.String,ProcessEngine> processEngines
-
processEngineInfosByName
protected static java.util.Map<java.lang.String,ProcessEngineInfo> processEngineInfosByName
-
processEngineInfosByResourceUrl
protected static java.util.Map<java.lang.String,ProcessEngineInfo> processEngineInfosByResourceUrl
-
processEngineInfos
protected static java.util.List<ProcessEngineInfo> processEngineInfos
-
-
Method Detail
-
init
public static void init()
Initializes all process engines that can be found on the classpath for resourcesactiviti.cfg.xml(plain Activiti style configuration) and for resourcesactiviti-context.xml(Spring style configuration).
-
initProcessEngineFromSpringResource
protected static void initProcessEngineFromSpringResource(java.net.URL resource)
-
registerProcessEngine
public static void registerProcessEngine(ProcessEngine processEngine)
Registers the given process engine. NoProcessEngineInfowill be available for this process engine. An engine that is registered will be closed when thedestroy()is called.
-
unregister
public static void unregister(ProcessEngine processEngine)
Unregisters the given process engine.
-
getProcessEngineInfos
public static java.util.List<ProcessEngineInfo> getProcessEngineInfos()
Get initialization results.
-
getProcessEngineInfo
public static ProcessEngineInfo getProcessEngineInfo(java.lang.String processEngineName)
Get initialization results. Only info will we available for process engines which were added in theinit(). NoProcessEngineInfois available for engines which were registered programatically.
-
getDefaultProcessEngine
public static ProcessEngine getDefaultProcessEngine()
-
getProcessEngine
public static ProcessEngine getProcessEngine(java.lang.String processEngineName)
obtain a process engine by name.- Parameters:
processEngineName- is the name of the process engine or null for the default process engine.
-
retry
public static ProcessEngineInfo retry(java.lang.String resourceUrl)
retries to initialize a process engine that previously failed.
-
getProcessEngines
public static java.util.Map<java.lang.String,ProcessEngine> getProcessEngines()
provides access to process engine to application clients in a managed server environment.
-
destroy
public static void destroy()
closes all process engines. This method should be called when the server shuts down.
-
isInitialized
public static boolean isInitialized()
-
setInitialized
public static void setInitialized(boolean isInitialized)
-
-