RESOLVED - issue BATCH-127: Allow job configuration to control re-entrant behavior
http://opensource.atlassian.com/projects/spring/browse/BATCH-127 Remove Recoverable interface (obsolete).
This commit is contained in:
@@ -1,39 +0,0 @@
|
||||
/*
|
||||
* Copyright 2006-2007 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.batch.core.tasklet;
|
||||
|
||||
/**
|
||||
* Marker interface for {@link Tasklet} implementations that are able to take a
|
||||
* recovery action in the case that an exception is thrown inside
|
||||
* {@link Tasklet#execute()}. Containers must ensure that the recover method is
|
||||
* called in a different transactional context than the failed execution, e.g.
|
||||
* by creating a new transaction with propagation REQUIRES_NEW.
|
||||
*
|
||||
* @author Dave Syer
|
||||
*
|
||||
*/
|
||||
public interface Recoverable {
|
||||
|
||||
/**
|
||||
* Take some action to recover the current batch operation. E.g. send a
|
||||
* message to an error queue, or append a bad record to a special file.
|
||||
*
|
||||
* @param cause the exception that caused the recovery step to be called.
|
||||
*/
|
||||
void recover(Throwable cause);
|
||||
|
||||
}
|
||||
@@ -22,7 +22,6 @@ import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
|
||||
import org.springframework.batch.core.tasklet.Recoverable;
|
||||
import org.springframework.batch.core.tasklet.Tasklet;
|
||||
import org.springframework.batch.io.Skippable;
|
||||
import org.springframework.batch.item.ItemProcessor;
|
||||
@@ -58,11 +57,12 @@ import org.springframework.util.Assert;
|
||||
* case because a transaction would have rolled back and the item would be
|
||||
* represented).<br/>
|
||||
*
|
||||
* If a {@link RetryPolicy} is not provided then the {@link Recoverable}
|
||||
* If a {@link RetryPolicy} is not provided then the {@link ItemRecoverer}
|
||||
* interface can be used to attempt to recover immediately (with no retry) from
|
||||
* a processing error. Clients of this class must call
|
||||
* {@link Recoverable#recover(Throwable)} directly, which is simply delegated to
|
||||
* {@link ItemProvider#recover(Object, Throwable)}.
|
||||
* a processing error. Clients of this class should ensure that the recovery
|
||||
* takes place in a separate transaction (e.g. with propagation REQUIRES_NEW) if
|
||||
* necessary. This can easily be achieved by injecting an {@link ItemRecoverer}
|
||||
* that has a transactional recover method.
|
||||
*
|
||||
* @see ItemProvider
|
||||
* @see ItemProcessor
|
||||
|
||||
Reference in New Issue
Block a user