Package org.camunda.bpm.engine
Class ProcessEngines
- java.lang.Object
-
- org.camunda.bpm.engine.ProcessEngines
-
public abstract class ProcessEngines extends Object
Helper 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.camunda.bpm.engine.test.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 camunda.cfg.xml file found on the classpath. If you have more then one, make sure you specify different process.engine.name values.- Author:
- Tom Baeyens, Joram Barrez
-
-
Field Summary
Fields Modifier and Type Field Description protected static booleanisInitializedstatic StringNAME_DEFAULTprotected static List<ProcessEngineInfo>processEngineInfosprotected static Map<String,ProcessEngineInfo>processEngineInfosByNameprotected static Map<String,ProcessEngineInfo>processEngineInfosByResourceUrlprotected static Map<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 ProcessEnginegetDefaultProcessEngine(boolean forceCreate)static ProcessEnginegetProcessEngine(String processEngineName)static ProcessEnginegetProcessEngine(String processEngineName, boolean forceCreate)obtain a process engine by name.static ProcessEngineInfogetProcessEngineInfo(String processEngineName)Get initialization results.static List<ProcessEngineInfo>getProcessEngineInfos()Get initialization results.static Map<String,ProcessEngine>getProcessEngines()provides access to process engine to application clients in a managed server environment.static voidinit()static voidinit(boolean forceCreate)Initializes all process engines that can be found on the classpath for resourcescamunda.cfg.xml(plain Activiti style configuration) and for resourcesactiviti-context.xml(Spring style configuration).protected static voidinitProcessEngineFromSpringResource(URL resource)static voidregisterProcessEngine(ProcessEngine processEngine)Registers the given process engine.static ProcessEngineInforetry(String resourceUrl)retries to initialize a process engine that previously failed.static voidunregister(ProcessEngine processEngine)Unregisters the given process engine.
-
-
-
Field Detail
-
NAME_DEFAULT
public static final String NAME_DEFAULT
- See Also:
- Constant Field Values
-
isInitialized
protected static boolean isInitialized
-
processEngines
protected static Map<String,ProcessEngine> processEngines
-
processEngineInfosByName
protected static Map<String,ProcessEngineInfo> processEngineInfosByName
-
processEngineInfosByResourceUrl
protected static Map<String,ProcessEngineInfo> processEngineInfosByResourceUrl
-
processEngineInfos
protected static List<ProcessEngineInfo> processEngineInfos
-
-
Method Detail
-
init
public static void init()
-
init
public static void init(boolean forceCreate)
Initializes all process engines that can be found on the classpath for resourcescamunda.cfg.xml(plain Activiti style configuration) and for resourcesactiviti-context.xml(Spring style configuration).
-
initProcessEngineFromSpringResource
protected static void initProcessEngineFromSpringResource(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 List<ProcessEngineInfo> getProcessEngineInfos()
Get initialization results.
-
getProcessEngineInfo
public static ProcessEngineInfo getProcessEngineInfo(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()
-
getDefaultProcessEngine
public static ProcessEngine getDefaultProcessEngine(boolean forceCreate)
-
getProcessEngine
public static ProcessEngine getProcessEngine(String processEngineName)
-
getProcessEngine
public static ProcessEngine getProcessEngine(String processEngineName, boolean forceCreate)
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(String resourceUrl)
retries to initialize a process engine that previously failed.
-
getProcessEngines
public static Map<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.
-
-