Class ServiceDispatcher

java.lang.Object
org.apache.ofbiz.service.ServiceDispatcher

public final class ServiceDispatcher extends Object
The global service dispatcher. This is the "engine" part of the Service Engine.
  • Field Details

  • Method Details

    • getLocalDispatcher

      public static LocalDispatcher getLocalDispatcher(String name, Delegator delegator)
      Returns a pre-registered instance of the ServiceDispatcher associated with this delegator.
      Parameters:
      name - the name of the DispatchContext
      delegator - the local delegator
      Returns:
      A reference to the LocalDispatcher associated with the DispatchContext
    • getInstance

      public static ServiceDispatcher getInstance(Delegator delegator)
      Returns an instance of the ServiceDispatcher associated with this delegator.
      Parameters:
      delegator - the local delegator
      Returns:
      A reference to this global ServiceDispatcher
    • register

      public void register(DispatchContext context)
      Registers the loader with this ServiceDispatcher
      Parameters:
      context - the context of the local dispatcher
    • deregister

      public void deregister(LocalDispatcher local)
      De-Registers the loader with this ServiceDispatcher
      Parameters:
      local - the LocalDispatcher to de-register
    • registerCallback

      public void registerCallback(String serviceName, GenericServiceCallback cb)
      Registers a callback by associating it to a service.
      Parameters:
      serviceName - the name of the service to associate the callback with
      cb - the callback to register
    • getCallbacks

      public List<GenericServiceCallback> getCallbacks(String serviceName)
      Provides a list of the enabled callbacks corresponding to a service. As a side effect, disabled callbacks are removed.
      Parameters:
      serviceName - the name of service whose callbacks should be called
      Returns:
      a list of callbacks corresponding to serviceName
    • runSync

      public Map<String,Object> runSync(String localName, ModelService service, Map<String,? extends Object> context) throws ServiceAuthException, ServiceValidationException, GenericServiceException
      Run the service synchronously and return the result.
      Parameters:
      localName - Name of the context to use.
      service - Service model object.
      context - Map of name, value pairs composing the context.
      Returns:
      Map of name, value pairs composing the result.
      Throws:
      ServiceAuthException
      ServiceValidationException
      GenericServiceException
    • runSyncIgnore

      public void runSyncIgnore(String localName, ModelService service, Map<String,? extends Object> context) throws ServiceAuthException, ServiceValidationException, GenericServiceException
      Run the service synchronously and IGNORE the result.
      Parameters:
      localName - Name of the context to use.
      service - Service model object.
      context - Map of name, value pairs composing the context.
      Throws:
      ServiceAuthException
      ServiceValidationException
      GenericServiceException
    • runSync

      public Map<String,Object> runSync(String localName, ModelService modelService, Map<String,? extends Object> params, boolean validateOut) throws ServiceAuthException, ServiceValidationException, GenericServiceException
      Run the service synchronously and return the result.
      Parameters:
      localName - Name of the context to use.
      modelService - Service model object.
      params - Map of name, value pairs composing the parameters.
      validateOut - Validate OUT parameters
      Returns:
      Map of name, value pairs composing the result.
      Throws:
      ServiceAuthException
      ServiceValidationException
      GenericServiceException
    • runAsync

      public void runAsync(String localName, ModelService service, Map<String,? extends Object> params, GenericRequester requester, boolean persist) throws ServiceAuthException, ServiceValidationException, GenericServiceException
      Run the service asynchronously, passing an instance of GenericRequester that will receive the result.
      Parameters:
      localName - Name of the context to use.
      service - Service model object.
      params - Map of name, value pairs composing the parameters.
      requester - Object implementing GenericRequester interface which will receive the result.
      persist - True for store/run; False for run.
      Throws:
      ServiceAuthException
      ServiceValidationException
      GenericServiceException
    • runAsync

      public void runAsync(String localName, ModelService service, Map<String,? extends Object> context, boolean persist) throws ServiceAuthException, ServiceValidationException, GenericServiceException
      Run the service asynchronously and IGNORE the result.
      Parameters:
      localName - Name of the context to use.
      service - Service model object.
      context - Map of name, value pairs composing the context.
      persist - True for store/run; False for run.
      Throws:
      ServiceAuthException
      ServiceValidationException
      GenericServiceException
    • getGenericEngine

      public GenericEngine getGenericEngine(String engineName) throws GenericServiceException
      Gets the GenericEngine instance that corresponds to the given name
      Parameters:
      engineName - Name of the engine
      Returns:
      GenericEngine instance that corresponds to the engineName
      Throws:
      GenericServiceException
    • getJobManager

      public JobManager getJobManager()
      Gets the JobManager associated with this dispatcher
      Returns:
      JobManager that is associated with this dispatcher
    • getJMSListenerFactory

      public JmsListenerFactory getJMSListenerFactory()
      Gets the JmsListenerFactory which holds the message listeners.
      Returns:
      JmsListenerFactory
    • getDelegator

      public Delegator getDelegator()
      Gets the Delegator associated with this dispatcher
      Returns:
      Delegator associated with this dispatcher
    • getSecurity

      public Security getSecurity()
      Gets the Security object associated with this dispatcher
      Returns:
      Security object associated with this dispatcher
    • getLocalContext

      public DispatchContext getLocalContext(String name)
      Gets the local context from a name
      Parameters:
      name - of the context to find.
    • getLocalDispatcher

      public LocalDispatcher getLocalDispatcher(String name)
      Gets the local dispatcher from a name
      Parameters:
      name - of the LocalDispatcher to find.
      Returns:
      LocalDispatcher matching the loader name
    • containsContext

      public boolean containsContext(String name)
      Test if this dispatcher instance contains the local context.
      Parameters:
      name - of the local context
      Returns:
      true if the local context is found in this dispatcher.
    • enableJM

      public static void enableJM(boolean enable)
      Enables/Disables the Job Manager/Scheduler globally (this will not effect any dispatchers already running)
      Parameters:
      enable -
    • enableJMS

      public static void enableJMS(boolean enable)
      Enables/Disables the JMS listeners globally (this will not effect any dispatchers already running)
      Parameters:
      enable -
    • enableSvcs

      public static void enableSvcs(boolean enable)
      Enables/Disables the startup services globally (this will not effect any dispatchers already running)
      Parameters:
      enable -
    • getServiceLogMap

      public static Map<RunningService,ServiceDispatcher> getServiceLogMap()