org.apache.ode.bpel.iapi

## Interface BpelEngine

- All Superinterfaces:
    Scheduler.JobProcessor
  All Known Implementing Classes:
    BpelEngineImpl

      public interface BpelEngine
      extends Scheduler.JobProcessor

  Interface exposing the BPEL "engine". Basically, this interface facilitates dropping off events for processing by the engine. It is expected that all of the methods of this interface are called only from a "transactional context" (i.e. a transaction is associated with the thread invoking the method). The exact nature of the transactional context is not specified, however it must be the same context that is used by the BPEL DAO layer implementation. If a method invoked from this interface throws an exception of any kind, then the current transaction must be rolled back.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `MyRoleMessageExchange` | `createMessageExchange(java.lang.String clientKey, javax.xml.namespace.QName serviceId, java.lang.String operation)` Create a "my role" message exchange for invoking a BPEL process.
    `boolean` | `dehydrateLastUnusedProcess()`
    `int` | `getHydratedProcessCount(javax.xml.namespace.QName processName)`
    `long` | `getHydratedProcessSize(javax.xml.namespace.QName processName)`
    `MessageExchange` | `getMessageExchange(java.lang.String mexId)` Retrieve a message identified by the given identifer.
    `int` | `getProcessThrottledMaximumCount()`
    `long` | `getProcessThrottledMaximumSize()`

    - ### Methods inherited from interface org.apache.ode.bpel.iapi.Scheduler.JobProcessor

      `onScheduledJob`

- - ### Method Detail

    - #### createMessageExchange

          MyRoleMessageExchange createMessageExchange(java.lang.String clientKey,
                                                    javax.xml.namespace.QName serviceId,
                                                    java.lang.String operation)
                                                      throws BpelEngineException

      Create a "my role" message exchange for invoking a BPEL process.
      Parameters:
        `serviceId` - the service id of the process being called, if known
        `operation` - name of the operation
        `style` - style of the operation
      Returns:
        `MyRoleMessageExchange` the newly created message exchange
      Throws:
        `BpelEngineException`

    - #### getMessageExchange

          MessageExchange getMessageExchange(java.lang.String mexId)

      Retrieve a message identified by the given identifer.
      Parameters:
        `mexId` - message exhcange identifier
      Returns:
        associated message exchange

    - #### getProcessThrottledMaximumCount

          int getProcessThrottledMaximumCount()

    - #### getProcessThrottledMaximumSize

          long getProcessThrottledMaximumSize()

    - #### getHydratedProcessCount

          int getHydratedProcessCount(javax.xml.namespace.QName processName)

    - #### getHydratedProcessSize

          long getHydratedProcessSize(javax.xml.namespace.QName processName)

    - #### dehydrateLastUnusedProcess

          boolean dehydrateLastUnusedProcess()