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 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 Details

  • Constructor Details

    • ProcessEngines

      public ProcessEngines()
  • Method Details

    • 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.