org.camunda.bpm.engine
Class ProcessEngines

java.lang.Object
  extended by org.camunda.bpm.engine.ProcessEngines

public abstract class ProcessEngines
extends Object

Helper for initializing and closing process engines in server environments.
All created ProcessEngines will be registered with this class.
The activiti-webapp-init webapp will call the init() method when the webapp is deployed and it will call the destroy() 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 the getProcessEngines() 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 or ProcessEngines are already created so they were registered on this class.

The init() method will try to build one ProcessEngine for 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
protected static boolean isInitialized
           
static String NAME_DEFAULT
           
protected static List<ProcessEngineInfo> processEngineInfos
           
protected static Map<String,ProcessEngineInfo> processEngineInfosByName
           
protected static Map<String,ProcessEngineInfo> processEngineInfosByResourceUrl
           
protected static Map<String,ProcessEngine> processEngines
           
 
Constructor Summary
ProcessEngines()
           
 
Method Summary
static void destroy()
          closes all process engines.
static ProcessEngine getDefaultProcessEngine()
           
static ProcessEngine getDefaultProcessEngine(boolean forceCreate)
           
static ProcessEngine getProcessEngine(String processEngineName)
           
static ProcessEngine getProcessEngine(String processEngineName, boolean forceCreate)
          obtain a process engine by name.
static ProcessEngineInfo getProcessEngineInfo(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 void init()
           
static void init(boolean forceCreate)
          Initializes all process engines that can be found on the classpath for resources camunda.cfg.xml (plain Activiti style configuration) and for resources activiti-context.xml (Spring style configuration).
protected static void initProcessEngineFromSpringResource(URL resource)
           
static void registerProcessEngine(ProcessEngine processEngine)
          Registers the given process engine.
static ProcessEngineInfo retry(String resourceUrl)
          retries to initialize a process engine that previously failed.
static void unregister(ProcessEngine processEngine)
          Unregisters the given process engine.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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
Constructor Detail

ProcessEngines

public ProcessEngines()
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 resources camunda.cfg.xml (plain Activiti style configuration) and for resources activiti-context.xml (Spring style configuration).


initProcessEngineFromSpringResource

protected static void initProcessEngineFromSpringResource(URL resource)

registerProcessEngine

public static void registerProcessEngine(ProcessEngine processEngine)
Registers the given process engine. No ProcessEngineInfo will be available for this process engine. An engine that is registered will be closed when the destroy() 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 the init(). No ProcessEngineInfo is 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.



Copyright © 2016 camunda services GmbH. All rights reserved.