use of com.arjuna.mw.wsas.exceptions.InvalidTimeoutException in project narayana by jbosstm.
the class UserActivityImple method start.
/**
* Start a new activity. If there is already an activity associated
* with the thread then it will be nested.
*
* @param serviceType specifies the type of coordinator which will be
* instantiated to manage the activity.
* @param timeout The timeout associated with the activity. If the
* activity has not been terminated by the time this period elapses, then
* it will automatically be terminated.
* @exception WrongStateException Thrown if the currently associated
* activity is in a state that does not allow a new activity to be
* enlisted as a child.
* @exception InvalidTimeoutException Thrown if the specified timeout is
* invalid within the current working environment.
* @exception SystemException Thrown in any other situation.
*/
public void start(String serviceType, int timeout) throws WrongStateException, InvalidTimeoutException, SystemException {
if (timeout < 0)
throw new InvalidTimeoutException();
else {
if (timeout == 0)
timeout = getTimeout();
}
ActivityImple currentActivity = new ActivityImple(current(), serviceType);
currentActivity.start(timeout);
push(currentActivity);
HLS hls = HLSManager.getHighLevelService(serviceType);
try {
if (hls != null) {
hls.begun();
}
} catch (SystemException ex) {
try {
setCompletionStatus(FailureOnly.instance());
} catch (Exception e) {
wsasLogger.i18NLogger.warn_UserActivityImple_1(e);
}
throw ex;
}
}
Aggregations