com.bea.wlai.control
Interface ApplicationViewControl


public interface ApplicationViewControl

ApplicationView Control base interface.

The methods of this interface may be invoked by any web service or business process with an Application View control instance.

The local transaction methods are not used in a container that controls transactions, such as the process container for WebLogic Integration or the web service container for WebLogic Workshop. This is because the WebLogic Server Transaction Manager (TM) automatically enlists any local resource (a maximum of one) into the active XA transaction. Thus, using application views and adapters that support only local transactions appears the same as using application views and adapters that support XA transactions.

You can have only one local-only resource in the transaction. The business process designer must ensure that only one local resource gets enlisted anywhere within a given set of explicit transaction tags (or the implicit outer transaction tags if none are given explicitly). If a second local-only resource is required, you must separate the first and second resources across transaction tags in the process definition language.

For containers that do not control the outer XA transaction (for example, a WebLogic Portal page group), you can use the local transaction methods. However, you can also start an XA transaction using the javax.transaction.UserTransaction interface, and allow the WebLogic Server Transaction Manager to automatically enlist the local resource.

Note: Any asynchronous service for the JCX is represented as a callback on the JCX. This allows the extension of the base control for callbacks. Asynchronous response callbacks use the XML type to represent the response document.


Method Summary
 void beginLocalTransaction()
          Begin a local transaction on this control.
 void commitLocalTransaction()
          Commit the active local transaction for this control.
 String getActiveAsyncRequestID()
          Return the ID of the active asynchronous request being processed by this control instance, or null if no async request is active.
 boolean isAsyncRequestActive()
          Is this control instance currently processing an async request?
 void rollbackLocalTransaction()
          Rollback the active local transaction for this control.
 

Method Detail

beginLocalTransaction

void beginLocalTransaction()
                           throws Exception
Begin a local transaction on this control. This will begin a local transaction on the underlying ApplicationView instance. All work done by this control instance between this call, and a call to commitLocalTransaction() or rollbackLocalTransaction() will be committed or rolled back, respectively, as a unit. If the underlying adapter used by the ApplicationView for this control does not support local transactions, an exception is thrown.

Throws:
Exception

commitLocalTransaction

void commitLocalTransaction()
                            throws Exception
Commit the active local transaction for this control. All work done since the last call to beginLocalTransaction() will be committed into the EIS's permanent state. If the underlying adapter used by the ApplicationView for this control does not support local transactions, an exception is thrown.

Throws:
Exception

rollbackLocalTransaction

void rollbackLocalTransaction()
                              throws Exception
Rollback the active local transaction for this control. All work done since the last call to beginLocalTransaction() will be discarded. If the underlying adapter used by the ApplicationView for this control does not support local transactions, an exception is thrown.

Throws:
Exception

isAsyncRequestActive

boolean isAsyncRequestActive()
Is this control instance currently processing an async request?


getActiveAsyncRequestID

String getActiveAsyncRequestID()
Return the ID of the active asynchronous request being processed by this control instance, or null if no async request is active.