// this is not the first time we're trying this scope
if (getBpelRuntime().isRetryable()) {
// we need to retry after injecting a certain amount of delay
Date future = new Date(new Date().getTime() +
getBpelRuntime().getRetryDelay() * 1000);
final TimerResponseChannel timerChannel = newChannel(TimerResponseChannel.class);
getBpelRuntime().registerTimer(timerChannel, future);
object(false, new TimerResponseChannelListener(timerChannel) {
private static final long serialVersionUID = -261911108068231376L;
public void onTimeout() {
getBpelRuntime().setRetriedOnce();