org.apache.ode.bpel.engine
Class BpelEngineImpl

java.lang.Object
  extended by org.apache.ode.bpel.engine.BpelEngineImpl
All Implemented Interfaces:
org.apache.ode.bpel.iapi.BpelEngine, org.apache.ode.bpel.iapi.Scheduler.JobProcessor

public class BpelEngineImpl
extends java.lang.Object
implements org.apache.ode.bpel.iapi.BpelEngine

Implementation of the BpelEngine interface: provides the server methods that should be invoked in the context of a transaction.


Field Summary
 java.util.HashMap<javax.xml.namespace.QName,BpelProcess> _activeProcesses
          Active processes, keyed by process id.
 
Constructor Summary
BpelEngineImpl(Contexts contexts)
           
 
Method Summary
 void acquireInstanceLock(java.lang.Long iid)
           
 org.apache.ode.bpel.iapi.MyRoleMessageExchange createMessageExchange(java.lang.String clientKey, javax.xml.namespace.QName targetService, java.lang.String operation)
           
 org.apache.ode.bpel.iapi.MyRoleMessageExchange createMessageExchange(java.lang.String clientKey, javax.xml.namespace.QName targetService, java.lang.String operation, java.lang.String pipedMexId)
           
protected  PartnerRoleMessageExchangeImpl createPartnerRoleMessageExchangeImpl(org.apache.ode.bpel.dao.MessageExchangeDAO mexdao, javax.wsdl.PortType ptype, javax.wsdl.Operation op, org.apache.ode.bpel.o.OPartnerLink plink, BpelProcess process)
           
 boolean dehydrateLastUnusedProcess()
          Returns true if the last used process was dehydrated because it was not in-use.
 long getHydratedFootprint()
           
 int getHydratedProcessCount(javax.xml.namespace.QName processName)
           
 long getHydratedProcessSize(javax.xml.namespace.QName processName)
           
 int getInstanceThrottledMaximumCount()
           
 org.apache.ode.bpel.iapi.MessageExchange getMessageExchange(java.lang.String mexId)
           
 BpelProcess getNewestProcessByType(javax.xml.namespace.QName processType)
           
 BpelProcess getProcess(javax.xml.namespace.QName pid)
           
 int getProcessThrottledMaximumCount()
           
 long getProcessThrottledMaximumSize()
           
 SharedEndpoints getSharedEndpoints()
           
 long getTotalBpelFootprint()
           
 void onScheduledJob(org.apache.ode.bpel.iapi.Scheduler.JobInfo jobInfo)
           
 void registerMessageExchangeInterceptor(MessageExchangeInterceptor interceptor)
           
 void sendMyRoleFault(BpelProcess process, org.apache.ode.bpel.iapi.Scheduler.JobDetails we, int causeCode)
           
 void setInstanceThrottledMaximumCount(int instanceThrottledMaximumCount)
           
 void setProcessSize(javax.xml.namespace.QName processId, boolean hydratedOnce)
           
 void setProcessThrottledMaximumCount(int hydrationThrottledMaximumCount)
           
 void setProcessThrottledMaximumSize(long hydrationThrottledMaximumSize)
           
 void unregisterMessageExchangeInterceptor(java.lang.Class interceptorClass)
           
 void unregisterMessageExchangeInterceptor(MessageExchangeInterceptor interceptor)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_activeProcesses

public final java.util.HashMap<javax.xml.namespace.QName,BpelProcess> _activeProcesses
Active processes, keyed by process id.

Constructor Detail

BpelEngineImpl

public BpelEngineImpl(Contexts contexts)
Method Detail

getSharedEndpoints

public SharedEndpoints getSharedEndpoints()

createMessageExchange

public org.apache.ode.bpel.iapi.MyRoleMessageExchange createMessageExchange(java.lang.String clientKey,
                                                                            javax.xml.namespace.QName targetService,
                                                                            java.lang.String operation,
                                                                            java.lang.String pipedMexId)
                                                                     throws org.apache.ode.bpel.iapi.BpelEngineException
Throws:
org.apache.ode.bpel.iapi.BpelEngineException

createMessageExchange

public org.apache.ode.bpel.iapi.MyRoleMessageExchange createMessageExchange(java.lang.String clientKey,
                                                                            javax.xml.namespace.QName targetService,
                                                                            java.lang.String operation)
Specified by:
createMessageExchange in interface org.apache.ode.bpel.iapi.BpelEngine

getMessageExchange

public org.apache.ode.bpel.iapi.MessageExchange getMessageExchange(java.lang.String mexId)
Specified by:
getMessageExchange in interface org.apache.ode.bpel.iapi.BpelEngine

createPartnerRoleMessageExchangeImpl

protected PartnerRoleMessageExchangeImpl createPartnerRoleMessageExchangeImpl(org.apache.ode.bpel.dao.MessageExchangeDAO mexdao,
                                                                              javax.wsdl.PortType ptype,
                                                                              javax.wsdl.Operation op,
                                                                              org.apache.ode.bpel.o.OPartnerLink plink,
                                                                              BpelProcess process)

getProcess

public BpelProcess getProcess(javax.xml.namespace.QName pid)

acquireInstanceLock

public void acquireInstanceLock(java.lang.Long iid)

onScheduledJob

public void onScheduledJob(org.apache.ode.bpel.iapi.Scheduler.JobInfo jobInfo)
                    throws org.apache.ode.bpel.iapi.Scheduler.JobProcessorException
Specified by:
onScheduledJob in interface org.apache.ode.bpel.iapi.Scheduler.JobProcessor
Throws:
org.apache.ode.bpel.iapi.Scheduler.JobProcessorException

registerMessageExchangeInterceptor

public void registerMessageExchangeInterceptor(MessageExchangeInterceptor interceptor)

unregisterMessageExchangeInterceptor

public void unregisterMessageExchangeInterceptor(MessageExchangeInterceptor interceptor)

unregisterMessageExchangeInterceptor

public void unregisterMessageExchangeInterceptor(java.lang.Class interceptorClass)

getTotalBpelFootprint

public long getTotalBpelFootprint()

getHydratedFootprint

public long getHydratedFootprint()

getHydratedProcessSize

public long getHydratedProcessSize(javax.xml.namespace.QName processName)
Specified by:
getHydratedProcessSize in interface org.apache.ode.bpel.iapi.BpelEngine

getHydratedProcessCount

public int getHydratedProcessCount(javax.xml.namespace.QName processName)
Specified by:
getHydratedProcessCount in interface org.apache.ode.bpel.iapi.BpelEngine

setInstanceThrottledMaximumCount

public void setInstanceThrottledMaximumCount(int instanceThrottledMaximumCount)

getInstanceThrottledMaximumCount

public int getInstanceThrottledMaximumCount()

setProcessThrottledMaximumCount

public void setProcessThrottledMaximumCount(int hydrationThrottledMaximumCount)

getProcessThrottledMaximumCount

public int getProcessThrottledMaximumCount()
Specified by:
getProcessThrottledMaximumCount in interface org.apache.ode.bpel.iapi.BpelEngine

setProcessThrottledMaximumSize

public void setProcessThrottledMaximumSize(long hydrationThrottledMaximumSize)

getProcessThrottledMaximumSize

public long getProcessThrottledMaximumSize()
Specified by:
getProcessThrottledMaximumSize in interface org.apache.ode.bpel.iapi.BpelEngine

setProcessSize

public void setProcessSize(javax.xml.namespace.QName processId,
                           boolean hydratedOnce)

dehydrateLastUnusedProcess

public boolean dehydrateLastUnusedProcess()
Returns true if the last used process was dehydrated because it was not in-use.

Specified by:
dehydrateLastUnusedProcess in interface org.apache.ode.bpel.iapi.BpelEngine

sendMyRoleFault

public void sendMyRoleFault(BpelProcess process,
                            org.apache.ode.bpel.iapi.Scheduler.JobDetails we,
                            int causeCode)

getNewestProcessByType

public BpelProcess getNewestProcessByType(javax.xml.namespace.QName processType)