IBM WebSphere Application ServerTM
Release 6

Package  com.ibm.bpe.api

Interface Summary
ProcessInstanceActionIndexThis interface defines symbolic constants to be used as a column index for the array of available action flags - see .
CustomPropertyProvides a named custom property.
ProcessInstanceActionsThis interface defines symbolic constants for all actions that can be performed on process instances.
BusinessFlowManagerHomeThe home interface of the BusinessFlowManager session bean.
LocalBusinessFlowManagerHomeThe home interface of the LocalBusinessFlowManager session bean.
LocalBusinessFlowManagerLocalBusinessFlowManager is the stateless session bean that represents the local interface.
EventHandlerTemplateActionsThis interface defines symbolic constants for all actions that can be performed on event handler templates.
ProcessTemplateActionsThis interface defines symbolic constants for all actions that can be performed on process templates.
CompensationBehaviourThis interface defines symbolic constants that state how to deal with compensation.
LocalBusinessFlowManagerServiceLocalBusinessFlowManagerService defines the business functions that can be called by a local client.
WorkItemActionsThis interface defines symbolic constants for all actions that can be performed on work items.
QueryPropertyReturns the properties of a variable that can be queried.
ActivityServiceTemplateActionsThis interface defines symbolic constants for all actions that can be performed on activity service templates.
ActivityInstanceActionsThis interface defines symbolic constants for all actions that can be performed on activity instances.
EventHandlerTemplateDataAccesses the properties of an event (action) that can be triggered as part of an active event handler.
StoredQueryDataAccesses the properties of a query stored persistently.
CompleteAndClaimSuccessorResultReturns the result of a completeAndClaimSuccessor() call, that is, a description of the claimed successor activity instance.
BusinessFlowManagerServiceBusinessFlowManagerService defines the business functions that can be called by a local or remote client.
BusinessFlowManagerBusinessFlowManager is the stateless session bean that represents the remote interface.
ActivityInstanceActionIndexThis interface defines symbolic constants to be used as a column index for the array of available action flags - see .
WorkListActionsThis interface defines symbolic constants for all actions that can be performed on work lists.
ActivityServiceTemplateDataAccesses the properties of an activity service.
WorkItemDataAccesses the properties of a work item.
WorkListDataAccesses the properties of a worklist.
ProcessInstanceDataAccesses the properties of a process instance.
ActivityInstanceDataAccesses the properties of an activity instance.
ProcessTemplateDataAccesses the properties of a process template.
StateObserverEventThis interface returns observer event specific information as there are the event number and the creation time.
ReplyContextThis interface supports an asynchronous mode of operation.
QueryResultSetProvides the results of a query request.
PortalClientSettingInterface for Portal client settings.
JspLocationInterface to retrieve JSP locations of a Web client setting.
WebClientSettingInterface for Web client settings.
CustomClientSettingsCustomClientSettings defines the interface for all client and Web client settings that are associated with a process template, process instance, or activity instance.
VTIDInterface for a service template object identifier.
StaffResultSetReturns the persons or groups that are members of a specific role.
PTIDInterface for a process template object identifier.
PIIDInterface for a process instance object identifier.
EHTIDInterface for an event handler template object identifier.
ClientSettingInterface that supports the definition of user specific client settings.
ATIDInterface for an activity template object identifier.
AIIDInterface for an activity instance object identifier.
OIDInterface for an object identifier.

Class Summary
StoredQueryPropertyDescribes a property of a stored query.
ProcessResponseWrapperWraps the output message returned by a microflow and its associated custom client settings.
ReplyContextWrapperWraps the reply context passed to the process engine.
ClientObjectWrapperWraps messages and variables passed between the caller and the process engine.
ErrorTypeEnumThis enumeration class defines symbolic constants for error types that are found during validation of objects created on-the-flight.
QueryColumnInfoProvides information on the columns of a query result set.
JspUsageEnumThis enumeration class defines symbolic constants for JSP usage patterns.
JspApplicableRoleEnumThis enumeration class defines symbolic constants for JSP applicable role patterns.

Exception Summary
SpecificFaultReplyExceptionA SpecificFaultReplyException states that a fault is returned.
FaultReplyException2A FaultReplyException2 states that a modelled fault is returned.
ApplicationFaultException2An ApplicationFaultException2 extends ApplicationFaultException and additionally provides the namespace of the WSDL message that is associated with the thrown fault variable in case the fault variable is represented by a boxed Java simple type.
ApplicationFaultExceptionAn ApplicationFaultException wraps fault responses from invoke, throw, or script activities.
WorkItemDoesNotExistExceptionException class for error message Api.WorkItemDoesNotExist.
UserDoesNotExistExceptionException class for error message Api.UserDoesNotExist.
InvalidStoredQueryParametersExceptionException class for error message Api.InvalidStoredQueryParameters.
InvalidParameterExceptionException class for error message Api.InvalidParameter.
StoredQueryNameNotUniqueExceptionException class for error message Api.StoredQueryNameNotUnique.
TaskManagerNotFoundExceptionException class for error message Api.TaskManagerNotFound.
CreateRejectedExceptionException class for error message Api.CreateRejected.
InvalidMessageTypeExceptionException class for error message Api.InvalidMessageType.
MultipleInstanceExceptionException class for error message Api.MultipleInstance.
InvalidPropertyAliasTypeExceptionException class for error message Api.InvalidPropertyAliasType.
InvalidMessagePartTypeExceptionException class for error message Api.InvalidMessagePartType.
MessagePartQueryFailedExceptionException class for error message Api.MessagePartQueryFailed.
MessagePartNotFoundExceptionException class for error message Api.MessagePartNotFound.
GenericErrorExceptionException class for error message Api.GenericError.
CannotSendVoidReplyExceptionException class for error message Api.CannotSendVoidReply.
CannotSendExceptionExceptionException class for error message Api.CannotSendException.
CannotSendProcessResultExceptionException class for error message Api.CannotSendProcessResult.
CannotSendPIIDExceptionException class for error message Api.CannotSendPIID.
DatabaseExceptionException class for error message Api.Database.
ProcessOperationNotKnownByPortExceptionException class for error message Api.ProcessOperationNotKnownByPort.
UserRegistryExceptionException class for error message Api.UserRegistry.
HumanTaskManagerExceptionException class for error message Api.HumanTaskManager.
FaultReplyExceptionA FaultReplyException states that a modelled fault is returned.
ApplicationVetoExceptionException class for error message Api.ApplicationVeto.
DataHandlingExceptionException class for error message Api.DataHandling.
ProcessBindingMissingTypeMappingExceptionException class for error message Api.ProcessBindingMissingTypeMapping.
ProcessBindingMissingFormatTypeExceptionException class for error message Api.ProcessBindingMissingFormatType.
ProcessOperationFaultNameNotSetExceptionException class for error message Api.ProcessOperationFaultNameNotSet.
ProcessOperationCannotFindModelExceptionException class for error message Api.ProcessOperationCannotFindModel.
ProcessOperationCannotInvokeExceptionException class for error message Api.ProcessOperationCannotInvoke.
ProcessOperationUnknownFaultMessageTypeExceptionException class for error message Api.ProcessOperationUnknownFaultMessageType.
ProcessOperationMissingFaultMessageExceptionException class for error message Api.ProcessOperationMissingFaultMessage.
ProcessOperationFailedExceptionException class for error message Api.ProcessOperationFailed.
ProcessOperationNoOutputMessageExceptionException class for error message Api.ProcessOperationNoOutputMessage.
ProcessInputUnknownTypeSystemExceptionException class for error message Api.ProcessInputUnknownTypeSystem.
ProcessInputTypeNameNullExceptionException class for error message Api.ProcessInputTypeNameNull.
ProcessInputTypeSystemNullExceptionException class for error message Api.ProcessInputTypeSystemNull.
ExecuteInputOnlyOperation_NotSupportedExceptionException class for error message Api.ExecuteInputOnlyOperation_NotSupported.
CouldNotCreateWSIFPort_ProcessExceptionException class for error message Api.CouldNotCreateWSIFPort_Process.
NoMacroFlowExceptionException class for error message Api.NoMacroFlow.
ProcessInstanceNotUniqueExceptionException class for error message Api.ProcessInstanceNotUnique.
MissingPartsExceptionException class for error message Api.MissingParts.
CreateFailedExceptionException class for error message Api.CreateFailed.
CannotAccessObjectExceptionException class for error message Api.CannotAccessObject.
IdAndCorrelationSetMismatchExceptionException class for error message Api.IdAndCorrelationSetMismatch.
MethodNotApplicableExceptionException class for error message Api.MethodNotApplicable.
ActivityNameNotUniqueExceptionException class for error message Api.ActivityNameNotUnique.
ServiceNotUniqueExceptionException class for error message Api.ServiceNotUnique.
InvalidLengthExceptionException class for error message Api.InvalidLength.
CannotDeleteNamespaceExceptionException class for error message Api.CannotDeleteNamespace.
InvalidObjectNameExceptionException class for error message Api.InvalidObjectName.
QueryUndefinedParameterExceptionException class for error message Api.QueryUndefinedParameter.
QueryInvalidOperandExceptionException class for error message Api.QueryInvalidOperand.
ImplementationNotFoundExceptionException class for error message Api.ImplementationNotFound.
ProcessTemplateNotFoundExceptionException class for error message Api.ProcessTemplateNotFound.
TemplateInUseExceptionException class for error message Api.TemplateInUse.
QueryInvalidTimestampExceptionException class for error message Api.QueryInvalidTimestamp.
QueryUnknownOperatorExceptionException class for error message Api.QueryUnknownOperator.
QueryUnknownColumnExceptionException class for error message Api.QueryUnknownColumn.
EngineCreateServiceReferenceExceptionException class for error message Engine.CreateServiceReference.
EngineConflictingProcessExceptionException class for error message Engine.ConflictingProcess.
EngineForEachExpressionEvaluationExceptionException class for error message Engine.ForEachExpressionEvaluation.
EngineInstanceLocationFailureExceptionException class for error message Engine.InstanceLocationFailure.
QueryUnknownTableExceptionException class for error message Api.QueryUnknownTable.
EngineEventHandlerCorrelationHandlingFailureExceptionException class for error message Engine.EventHandlerCorrelationHandlingFailure.
EngineActivityCorrelationHandlingFailureExceptionException class for error message Engine.ActivityCorrelationHandlingFailure.
EngineCannotResolveReplacementStringExceptionException class for error message Engine.CannotResolveReplacementString.
EngineCannotResolveEndpointExceptionException class for error message Engine.CannotResolveEndpoint.
EngineUnknownActivityExceptionException class for error message Engine.UnknownActivity.
EngineAmbiguousActivityExceptionException class for error message Engine.AmbiguousActivity.
EngineServiceNotAuthorizedExceptionException class for error message Engine.ServiceNotAuthorized.
EngineActivityNotAuthorizedExceptionException class for error message Engine.ActivityNotAuthorized.
EngineProcessNotAuthorizedExceptionException class for error message Engine.ProcessNotAuthorized.
EngineProcessWrongKindExceptionException class for error message Engine.ProcessWrongKind.
EngineActivityWrongKindExceptionException class for error message Engine.ActivityWrongKind.
EngineProcessWrongBuildVersionExceptionException class for error message Engine.ProcessWrongBuildVersion.
EngineProcessWrongStateExceptionException class for error message Engine.ProcessWrongState.
EngineActivityWrongStateExceptionException class for error message Engine.ActivityWrongState.
EngineUncheckedBusinessFaultExceptionException class for error message Engine.UncheckedBusinessFault.
EngineWrongTaskTemplateExceptionException class for error message Engine.WrongTaskTemplate.
EngineWrongActivityNameExceptionException class for error message Engine.WrongActivityName.
EngineCopyDataObjectErrorException class for error message Engine.CopyDataObject.
EngineCreateDataObjectErrorException class for error message Engine.CreateDataObject.
EngineGetTypeErrorException class for error message Engine.GetType.
EngineNullMessageExceptionException class for error message Engine.NullMessage.
EngineAmbiguousPropertyDefinitionExceptionException class for error message Engine.AmbiguousPropertyDefinition.
EngineTimeoutExpressionEvaluationInEventHandlerExceptionException class for error message Engine.TimeoutExpressionEvaluationInEventHandler.
EngineInvalidDurationInEventHandlerExceptionException class for error message Engine.InvalidDurationInEventHandler.
EngineNoServiceRefTypeExceptionException class for error message Engine.NoServiceRefType.
EngineBaseClassNotFoundExceptionException class for error message Engine.BaseClassNotFound.
EngineRepeatedCompensationExceptionExceptionException class for error message Engine.RepeatedCompensationException.
EngineGenericErrorExceptionException class for error message Engine.GenericError.
EngineActivityDoesNotExistExceptionException class for error message Engine.ActivityDoesNotExist.
EngineProcessDoesNotExistExceptionException class for error message Engine.ProcessDoesNotExist.
EngineProcessReaderWorkItemExceptionException class for error message Engine.ProcessReaderWorkItem.
EngineLastAdminWorkItemExceptionException class for error message Engine.LastAdminWorkItem.
EngineEverybodyWorkItemExceptionException class for error message Engine.EverybodyWorkItem.
EngineCannotDeserializeReplyContextExceptionException class for error message Engine.CannotDeserializeReplyContext.
EngineNoInitialReceiveExceptionException class for error message Engine.NoInitialReceive.
EngineConditionEvaluationExceptionException class for error message Engine.ConditionEvaluation.
EngineIncompatibleTypesExceptionException class for error message Engine.IncompatibleTypes.
EngineProcessStarterDeletedExceptionException class for error message Engine.ProcessStarterDeleted.
EngineInvalidCompensationSphereDescriptorExceptionException class for error message Engine.InvalidCompensationSphereDescriptor.
EngineAssignmentFailureExceptionExceptionException class for error message Engine.AssignmentFailureException.
EngineLookupProcessBeanErrorException class for error message Engine.LookupProcessBean.
EngineInvalidDurationExceptionException class for error message Engine.InvalidDuration.
EngineInvalidNamespaceURIExceptionException class for error message Engine.InvalidNamespaceURI.
EngineJmsApiContextExceptionException class for error message Engine.JmsApiContext.
EngineTimeoutExpressionEvaluationExceptionException class for error message Engine.TimeoutExpressionEvaluation.
EngineLinkConditionEvaluationExceptionException class for error message Engine.LinkConditionEvaluation.
EngineJoinConditionEvaluationExceptionException class for error message Engine.JoinConditionEvaluation.
EngineParentProcessContextExceptionException class for error message Engine.ParentProcessContext.
EngineRollbackOnlyErrorException class for error message Engine.RollbackOnly.
EngineInvalidReplacementVariableExceptionException class for error message Engine.InvalidReplacementVariable.
EngineErrorInDescriptionResolutionExceptionException class for error message Engine.ErrorInDescriptionResolution.
EngineActivityStoppedExceptionException class for error message Engine.ActivityStopped.
EngineCompensationNotSupportedExceptionException class for error message Engine.CompensationNotSupported.
EngineCannotUnwrapReplyContextExceptionException class for error message Engine.CannotUnwrapReplyContext.
EngineParameterNullExceptionException class for error message Engine.ParameterNull.
EngineSchedulerExceptionException class for error message Engine.Scheduler.
EngineCalendarNotFoundExceptionException class for error message Engine.CalendarNotFound.
EngineDurationFormatExceptionException class for error message Engine.DurationFormat.
EngineSchedulerNotFoundExceptionException class for error message Engine.SchedulerNotFound.
EngineCannotOpenCompensationSphereExceptionException class for error message Engine.CannotOpenCompensationSphere.
EngineCompensationSphereStateUnknownErrorException class for error message Engine.CompensationSphereStateUnknown.
EngineCompensationSphereNotCompletedErrorException class for error message Engine.CompensationSphereNotCompleted.
EngineCompensationSphereRequiredExceptionException class for error message Engine.CompensationSphereRequired.
EngineProcessModelStoppedExceptionException class for error message Engine.ProcessModelStopped.
EngineCustomAttributeAccessViolationExceptionException class for error message Engine.CustomAttributeAccessViolation.
EngineImplementationDoesNotExistExceptionException class for error message Engine.ImplementationDoesNotExist.
EngineSubProcessHasNoMatchingEventExceptionException class for error message Engine.SubProcessHasNoMatchingEvent.
EngineProcessInstanceNameNotUniqueExceptionException class for error message Engine.ProcessInstanceNameNotUnique.
EngineDuplicateAwaitedEventExceptionException class for error message Engine.DuplicateAwaitedEvent.
EngineEventNotKnownExceptionException class for error message Engine.EventNotKnown.
EngineExitConditionFailedExceptionException class for error message Engine.ExitConditionFailed.
EngineAdministratorCannotBeResolvedExceptionException class for error message Engine.AdministratorCannotBeResolved.
EngineVariableDoesNotExistExceptionException class for error message Engine.VariableDoesNotExist.
EngineAuthorizationPluginExceptionException class for error message Engine.AuthorizationPlugin.
EngineIncompleteUserInputExceptionException class for error message Engine.IncompleteUserInput.
EngineDataPluginExceptionException class for error message Engine.DataPlugin.
EngineCannotInitializeWorkItemManagerExceptionException class for error message Engine.CannotInitializeWorkItemManager.
EngineCannotDeleteProcessExceptionException class for error message Engine.CannotDeleteProcess.
EngineCannotCreateWorkItemExceptionException class for error message Engine.CannotCreateWorkItem.
EngineCannotInitializeVariableExceptionException class for error message Engine.CannotInitializeVariable.
EngineInvalidFaultTerminalExceptionException class for error message Engine.InvalidFaultTerminal.
EngineFaultTerminalMessageIsNullExceptionException class for error message Engine.FaultTerminalMessageIsNull.
EngineCannotRunInAtomicSphereExceptionException class for error message Engine.CannotRunInAtomicSphere.
EngineFaultTerminalNotConnectedExceptionException class for error message Engine.FaultTerminalNotConnected.
EngineMaxNumberLoopIterationsExceededExceptionException class for error message Engine.MaxNumberLoopIterationsExceeded.
EngineCannotRunInterruptibleExceptionException class for error message Engine.CannotRunInterruptible.
EngineCannotRunSynchronousExceptionException class for error message Engine.CannotRunSynchronous.
ProcessErrorThis is the base class for all Business Flow Manager runtime exceptions.
EngineStateObserverEventErrorException class for error message Engine.StateObserverEvent.
EngineWrongMessageTypeExceptionException class for error message Engine.WrongMessageType.
EngineLoopDefaultMappingExceptionException class for error message Engine.LoopDefaultMapping.
EngineLoopMappingExceptionException class for error message Engine.LoopMapping.
EngineExitConditionEvaluationExceptionException class for error message Engine.ExitConditionEvaluation.
EngineLoopConditionEvaluationExceptionException class for error message Engine.LoopConditionEvaluation.
EngineTransitionConditionEvaluationExceptionException class for error message Engine.TransitionConditionEvaluation.
EngineDataMappingExceptionException class for error message Engine.DataMapping.
EngineCannotInitializePluginExceptionException class for error message Engine.CannotInitializePlugin.
EngineMaxNumberRetryExceededExceptionException class for error message Engine.MaxNumberRetryExceeded.
EngineImplementationInvocationExceptionException class for error message Engine.ImplementationInvocation.
EngineUncaughtExceptionInActivityExceptionException class for error message Engine.UncaughtExceptionInActivity.
EngineProcessModelDoesNotExistExceptionException class for error message Engine.ProcessModelDoesNotExist.
ObjectDoesNotExistExceptionException class for error message Api.ObjectDoesNotExist.
IdWrongTypeExceptionException class for error message Api.IdWrongType.
IdWrongFormatExceptionException class for error message Api.IdWrongFormat.
UnexpectedFailureExceptionException class for error message Api.UnexpectedFailure.
InvalidParameterValueExceptionException class for error message Api.InvalidParameterValue.
WorkItemManagerExceptionA general non-recoverable exception that occured with Work Item Management functions.
StandardFaultExceptionSuper class for all BPEL standard faults such as bpws:forceTermination.
SendReplyErrorExceptionRepresents the exception that is thrown by ReplyContext methods if sending the reply generates an error.
RuntimeFaultExceptionRuntimeFaultException wraps all runtime failures that can happen during the execution of BPEL processes, for example, when executing a script activity or when evaluating a transition condition.
NotSerializableExceptionNotSerializableException is basically a placeholder for nested exceptions that serialization fails.
EngineMissingReplyExceptionAn EngineMisssingReplyException is thrown when the process instance ends and when there is a reply missing for a receive or pick activity that implements a two-way operation.
SystemFaultExceptionDefines an exception which is thrown when during the execution of an activity or the invocation of a plug-in (except the observer plug-in), Process Choreographer itself runs into an error situation.
EngineMissingReceiveExceptionAn EngineMisssingReceiveException is thrown when a message has been received and stored by Process Choreographer and when that message has not been processed before the completion of the process instance for which it was received.
ProcessExceptionThis is the base class for all exceptions thrown by the Business Flow Manager EJB API.
BpelExceptionSuper class for all navigation related exceptions that can occur during the execution of BPEL processes.



Package Description

Provides the application programming interface (API) for managing process-related objects in the ProcessChoreographer Business Flow Manager. You can create application programs that use the API to manage runtime information related to processes. You can:

The API contains a stateless session bean BusinessFlowManager for local and remote access. The BusinessFlowManagerService interface describes the functions that can be called locally and remotely. It exposes the functions that can be called by an application program. The application program can be any Java program, including another EJB.

The application program accesses the BusinessFlowManager session bean through the bean's home and remote or local interfaces. A reference must be added to your application deployment descriptor. For example, for client applications such as a J2EE client application add the reference to the application-client.xml, for a Web application to the web.xml, and for an EJB application to the ejb-jar.xml.

Add the reference to the remote interface as in the following example:

   <ejb-ref>
     <ejb-ref-name>ejb/BusinessFlowManagerHome</ejb-ref-name>
     <ejb-ref-type>Session<ejb-ref-type>
     <home>com.ibm.bpe.api.BusinessFlowManagerHome</home>
     <remote>com.ibm.bpe.api.BusinessFlowManager</remote>
   </ejb-ref>

Add the reference to the local interface as in the following example:

   <ejb-local-ref>
     <ejb-ref-name>ejb/LocalBusinessFlowManagerHome</ejb-ref-name>
     <ejb-ref-type>Session<ejb-ref-type>
     <local-home>com.ibm.bpe.api.LocalBusinessFlowManagerHome</local-home>
     <local>com.ibm.bpe.api.LocalBusinessFlowManager</local>
   </ejb-local-ref>

If you use WebSphere Integration Developer to add the EJB reference to the deployment descriptor, the binding for the EJB reference is automatically created when the application is deployed.

If your application runs on a different Java Virtual Machine (JVM) from the one where the BPEContainer application runs, complete the following actions:

The BusinessFlowManager home interface is then made available to the client through JNDI by the container where the BusinessFlowManager session bean is deployed. To access the remote interface:

   // Obtain the default initial JNDI context
   Context initialContext= new InitialContext();
   // Lookup the remote home interface of the BusinessFlowManager bean
   Object result= initialContext.lookup("java:comp/env/ejb/BusinessFlowManagerHome");
   // Convert the lookup result to the proper type
   BusinessFlowManagerHome processHome= (BusinessFlowManagerHome)javax.rmi.PortableRemoteObject.narrow(result,BusinessFlowManagerHome.class);
To access the local interface:
   // Obtain the default initial JNDI context
   Context initialContext= new InitialContext();
   // Lookup the local home interface of the BusinessFlowManager bean
   LocalBusinessFlowManagerHome processHome= (LocalBusinessFlowManagerHome)initialContext.lookup("java:comp/env/ejb/LocalBusinessFlowManagerHome");

The home interface contains a create method that returns the BusinessFlowManager session bean's remote or local interface. For example, access the remote interface of the session bean:

   BusinessFlowManager process= processHome.create();
For example, access the local interface of the session bean:
   LocalBusinessFlowManager process= processHome.create();

When the BusinessFlowManager session bean is accessed, the application program can call any of the business functions exposed by the API. For example:

   process.initiate("MyProcessModel",input);

Note:
Access to the BusinessFlowManager session bean does not guarantee that all functions can be executed; the caller must also be authorized for these actions.

When an instance of the BusinessFlowManager session bean is created, the container associates a context with the instance of the session bean. The context contains the caller's principal ID, a group membership list, and indicates whether the caller has one of the Business Flow Manager J2EE roles, that is, whether the caller belongs to the group of BPE system administrators or monitors. The context is used by both the container and the process engine to check the caller's authorization for each call even when global security is not set. If global security is not set, the caller's principal ID has the value 'UNAUTHENTICATED'.

Calls from applications are run as transactions. A transaction is either established and ended explicitly by the application program, or established by the container when the application progam calls the process engine and ended by the container when the application program receives the result (the deployment descriptor specifies TX_REQUIRED). For example, the application program can establish and end a transaction as follows:

   // Obtain user transaction interface
   UserTransaction transaction= (UserTransaction)intialContext.lookup("jta/usertransaction");
   // Begin a transaction
   transaction.begin();
      // Process calls ...
   // On successful return, commit the transaction
   transaction.commit();
Design your own transactions to prevent database deadlocks when multiple transaction instances are run concurrently. For example, avoid running statements similar to the following in parallel:
   UserTransaction transaction= (UserTransaction)intialContext.lookup("jta/usertransaction");
   transaction.begin();
     process.getActivityInstance(aiid); // read-locks the activity
     process.claim(aiid);               // write-locks the activity to update the state
   transaction.commit();

IBM WebSphere Application ServerTM
Release 6