org.mule.transport.bpm
Class ProcessConnector

java.lang.Object
  extended by org.mule.transport.AbstractConnector
      extended by org.mule.transport.bpm.ProcessConnector
All Implemented Interfaces:
ExceptionListener, EventListener, javax.resource.spi.work.WorkListener, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, NamedObject, Connectable, Connector, MessageService

public class ProcessConnector
extends AbstractConnector
implements MessageService

The BPM provider allows Mule events to initiate and/or advance processes in an external or embedded Business Process Management System (BPMS). It also allows executing processes to generate Mule events.


Field Summary
static String ACTION_ABORT
           
static String ACTION_ADVANCE
           
static String ACTION_START
           
static String ACTION_UPDATE
           
protected  boolean allowGlobalDispatcher
          If false, any message generated by the process is routed from the service on which it is received.
protected  boolean allowGlobalReceiver
          The global receiver allows an endpoint of type "bpm://*" to receive any incoming message to the BPMS, regardless of the process.
static String BPM_PROPERTY_PREFIX
           
protected  BPMS bpms
          The underlying BPMS
static String GLOBAL_RECEIVER
           
static String PROCESS_VARIABLE_DATA
           
static String PROCESS_VARIABLE_INCOMING
           
static String PROCESS_VARIABLE_INCOMING_SOURCE
           
protected  String processIdField
          This field will be used to correlate messages with processes.
static String PROPERTY_ACTION
           
static String PROPERTY_ENDPOINT
           
static String PROPERTY_PROCESS_ID
           
static String PROPERTY_PROCESS_STARTED
           
static String PROPERTY_PROCESS_TYPE
           
static String PROPERTY_TRANSITION
           
static String PROTOCOL
           
 
Fields inherited from class org.mule.transport.AbstractConnector
connected, createMultipleTransactedReceivers, DEFAULT_NUM_CONCURRENT_TX_RECEIVERS, dispatcherFactory, dispatchers, disposed, exceptionListener, initialised, logger, muleContext, name, numberOfConcurrentTransactedReceivers, receivers, requesterFactory, requesters, serviceDescriptor, serviceOverrides, sessionHandler, started, startOnConnect
 
Fields inherited from interface org.mule.api.transport.Connector
INT_VALUE_NOT_SET
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
ProcessConnector()
           
 
Method Summary
protected  void doConnect()
          Template method where any connections should be made for the connector
protected  void doDisconnect()
          Template method where any connected resources used by the connector should be disconnected
protected  void doDispose()
          Template method to perform any work when destroying the connectoe
protected  void doInitialise()
           
protected  void doStart()
          Template method to perform any work when starting the connectoe
protected  void doStop()
          Template method to perform any work when stopping the connectoe
 MuleMessage generateMessage(String endpoint, Object payloadObject, Map messageProperties, boolean synchronous)
           
 BPMS getBpms()
           
 MuleClient getMuleClient()
           
 String getProcessIdField()
           
 String getProtocol()
           
 boolean isAllowGlobalDispatcher()
           
 boolean isAllowGlobalReceiver()
           
 ProcessMessageReceiver lookupReceiver(String processName, Object processId)
          This method looks for a receiver based on the process name and ID.
 void setAllowGlobalDispatcher(boolean allowGlobalDispatcher)
           
 void setAllowGlobalReceiver(boolean allowGlobalReceiver)
           
 void setBpms(BPMS bpms)
           
 void setProcessIdField(String processIdField)
           
 String toUrl(String processName, Object processId)
          Generate a URL based on the process name and ID such as "bpm://myProcess/2342" If the parameters are missing, and allowGlobalReceiver is true, the GLOBAL_RECEIVER is returned.
 
Methods inherited from class org.mule.transport.AbstractConnector
checkDisposed, connect, createReceiver, destroyReceiver, disconnect, dispatch, dispose, disposeDispatchers, disposeReceivers, disposeRequesters, disposeWorkManagers, exceptionThrown, fireNotification, getConnectEventId, getConnectionDescription, getDefaultInboundTransformers, getDefaultOutboundTransformers, getDefaultResponseTransformers, getDispatcherFactory, getDispatcherThreadingProfile, getDispatcherWorkManager, getExceptionListener, getMaxDispatchersActive, getMaxRequestersActive, getMessageAdapter, getMuleContext, getName, getNumberOfConcurrentTransactedReceivers, getOutputStream, getReceiver, getReceiverKey, getReceivers, getReceivers, getReceiverThreadingProfile, getReceiverWorkManager, getReplyToHandler, getRequesterFactory, getRequesterThreadingProfile, getRequesterWorkManager, getRetryPolicyTemplate, getScheduler, getServiceDescriptor, getServiceOverrides, getSessionHandler, getSupportedProtocols, handleException, handleException, handleWorkException, initFromServiceDescriptor, initialise, initialiseFromUrl, initWorkManagers, isConnected, isCreateMultipleTransactedReceivers, isDisposed, isEnableMessageEvents, isResponseEnabled, isStarted, isSyncEnabled, isValidateConnections, lookupReceiver, registerListener, registerSupportedProtocol, registerSupportedProtocolWithoutPrefix, request, request, send, setConnected, setCreateMultipleTransactedReceivers, setDispatcherFactory, setDispatcherThreadingProfile, setDynamicNotification, setExceptionListener, setMaxDispatchersActive, setMaxRequestersActive, setMuleContext, setName, setNumberOfConcurrentTransactedReceivers, setReceiverThreadingProfile, setRequesterFactory, setRequesterThreadingProfile, setRetryPolicyTemplate, setServiceOverrides, setSessionHandler, setSupportedProtocols, setupDispatchReturn, setupRequestReturn, setValidateConnections, start, stop, supportsProtocol, toString, unregisterListener, unregisterSupportedProtocol, updateCachedNotificationHandler, validateConnection, workAccepted, workCompleted, workRejected, workStarted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

bpms

protected BPMS bpms
The underlying BPMS


processIdField

protected String processIdField
This field will be used to correlate messages with processes.


allowGlobalReceiver

protected boolean allowGlobalReceiver
The global receiver allows an endpoint of type "bpm://*" to receive any incoming message to the BPMS, regardless of the process. If this is false, the process name must be specified for each endpoint, e.g. "bpm://MyProcess" will only receive messages for the process "MyProcess".


allowGlobalDispatcher

protected boolean allowGlobalDispatcher
If false, any message generated by the process is routed from the service on which it is received. If true, a process can send messages to any endpoint on any service.


BPM_PROPERTY_PREFIX

public static final String BPM_PROPERTY_PREFIX
See Also:
Constant Field Values

PROPERTY_ENDPOINT

public static final String PROPERTY_ENDPOINT
See Also:
Constant Field Values

PROPERTY_PROCESS_TYPE

public static final String PROPERTY_PROCESS_TYPE
See Also:
Constant Field Values

PROPERTY_PROCESS_ID

public static final String PROPERTY_PROCESS_ID
See Also:
Constant Field Values

PROPERTY_ACTION

public static final String PROPERTY_ACTION
See Also:
Constant Field Values

PROPERTY_TRANSITION

public static final String PROPERTY_TRANSITION
See Also:
Constant Field Values

PROPERTY_PROCESS_STARTED

public static final String PROPERTY_PROCESS_STARTED
See Also:
Constant Field Values

ACTION_START

public static final String ACTION_START
See Also:
Constant Field Values

ACTION_ADVANCE

public static final String ACTION_ADVANCE
See Also:
Constant Field Values

ACTION_UPDATE

public static final String ACTION_UPDATE
See Also:
Constant Field Values

ACTION_ABORT

public static final String ACTION_ABORT
See Also:
Constant Field Values

PROCESS_VARIABLE_INCOMING

public static final String PROCESS_VARIABLE_INCOMING
See Also:
Constant Field Values

PROCESS_VARIABLE_INCOMING_SOURCE

public static final String PROCESS_VARIABLE_INCOMING_SOURCE
See Also:
Constant Field Values

PROCESS_VARIABLE_DATA

public static final String PROCESS_VARIABLE_DATA
See Also:
Constant Field Values

PROTOCOL

public static final String PROTOCOL
See Also:
Constant Field Values

GLOBAL_RECEIVER

public static final String GLOBAL_RECEIVER
See Also:
Constant Field Values
Constructor Detail

ProcessConnector

public ProcessConnector()
Method Detail

getProtocol

public String getProtocol()
Specified by:
getProtocol in interface Connector
Returns:
the primary protocol name for endpoints of this connector

doInitialise

protected void doInitialise()
                     throws InitialisationException
Specified by:
doInitialise in class AbstractConnector
Throws:
InitialisationException

doDispose

protected void doDispose()
Description copied from class: AbstractConnector
Template method to perform any work when destroying the connectoe

Specified by:
doDispose in class AbstractConnector

doConnect

protected void doConnect()
                  throws Exception
Description copied from class: AbstractConnector
Template method where any connections should be made for the connector

Specified by:
doConnect in class AbstractConnector
Throws:
Exception

doDisconnect

protected void doDisconnect()
                     throws Exception
Description copied from class: AbstractConnector
Template method where any connected resources used by the connector should be disconnected

Specified by:
doDisconnect in class AbstractConnector
Throws:
Exception

doStart

protected void doStart()
                throws MuleException
Description copied from class: AbstractConnector
Template method to perform any work when starting the connectoe

Specified by:
doStart in class AbstractConnector
Throws:
MuleException - if the method fails

doStop

protected void doStop()
               throws MuleException
Description copied from class: AbstractConnector
Template method to perform any work when stopping the connectoe

Specified by:
doStop in class AbstractConnector
Throws:
MuleException - if the method fails

lookupReceiver

public ProcessMessageReceiver lookupReceiver(String processName,
                                             Object processId)
This method looks for a receiver based on the process name and ID. It searches iteratively from the narrowest scope (match process name and ID) to the widest scope (match neither - global receiver) possible.

Returns:
ProcessMessageReceiver or null if no match is found

toUrl

public String toUrl(String processName,
                    Object processId)
Generate a URL based on the process name and ID such as "bpm://myProcess/2342" If the parameters are missing, and allowGlobalReceiver is true, the GLOBAL_RECEIVER is returned.


generateMessage

public MuleMessage generateMessage(String endpoint,
                                   Object payloadObject,
                                   Map messageProperties,
                                   boolean synchronous)
                            throws Exception
Specified by:
generateMessage in interface MessageService
Throws:
Exception

getBpms

public BPMS getBpms()

setBpms

public void setBpms(BPMS bpms)

getMuleClient

public MuleClient getMuleClient()

isAllowGlobalDispatcher

public boolean isAllowGlobalDispatcher()

setAllowGlobalDispatcher

public void setAllowGlobalDispatcher(boolean allowGlobalDispatcher)

isAllowGlobalReceiver

public boolean isAllowGlobalReceiver()

setAllowGlobalReceiver

public void setAllowGlobalReceiver(boolean allowGlobalReceiver)

getProcessIdField

public String getProcessIdField()

setProcessIdField

public void setProcessIdField(String processIdField)


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.