/** * <p> * Register an additional {@link RetryReadListener}. * </p> * * @param listener the {@link RetryReadListener} to register */ public void register(RetryReadListener listener) { listeners.add(listener); }
/** * Call the registered listeners in order, respecting and prioritising those * that implement {@link Ordered}. * @see ItemWriteListener#beforeWrite(List) */ @Override public void beforeWrite(List<? extends S> items) { for (Iterator<ItemWriteListener<? super S>> iterator = listeners.iterator(); iterator.hasNext();) { ItemWriteListener<? super S> listener = iterator.next(); listener.beforeWrite(items); } }
/** * Public setter for the listeners. * * @param listeners list of {@link JobExecutionListener}s to be called when job execution events occur. */ public void setListeners(List<? extends JobExecutionListener> listeners) { this.listeners.setItems(listeners); }
/** * Call the registered listeners in reverse order. * * @see org.springframework.batch.core.ChunkListener#afterChunk(ChunkContext context) */ @Override public void afterChunk(ChunkContext context) { for (Iterator<ChunkListener> iterator = listeners.reverse(); iterator.hasNext();) { ChunkListener listener = iterator.next(); listener.afterChunk(context); } }
@Override public void onRetryProcessException(Object item, Exception ex) throws Exception { for (Iterator<RetryProcessListener> iterator = listeners.reverse(); iterator.hasNext();) { RetryProcessListener listener = iterator.next(); listener.onRetryProcessException(item, ex); } } }
@Test public void testAddDuplicateOrdered() { list.setItems(Arrays.asList((Object) "1")); list.add(new Ordered() { @Override public int getOrder() { return 1; } }); list.add(new Ordered() { @Override public int getOrder() { return 1; } }); Iterator<Object> iterator = list.iterator(); assertEquals(1, ((Ordered) iterator.next()).getOrder()); assertEquals(1, ((Ordered) iterator.next()).getOrder()); assertEquals("1", iterator.next()); }
/** * <p> * Register an additional {@link RetryProcessListener}. * </p> * * @param listener the {@link RetryProcessListener} to register */ public void register(RetryProcessListener listener) { listeners.add(listener); }
/** * Public setter for the listeners. * * @param itemProcessorListeners list of {@link ItemProcessListener}s to be called when process events occur. */ public void setListeners(List<? extends ItemProcessListener<? super T, ? super S>> itemProcessorListeners) { this.listeners.setItems(itemProcessorListeners); }
/** * Call the registered listeners in order, respecting and prioritising those * that implement {@link Ordered}. * @see org.springframework.batch.core.SkipListener#onSkipInRead(java.lang.Throwable) */ @Override public void onSkipInRead(Throwable t) { for (Iterator<SkipListener<? super T,? super S>> iterator = listeners.iterator(); iterator.hasNext();) { SkipListener<? super T,? super S> listener = iterator.next(); listener.onSkipInRead(t); } }
@Override public void onRetryReadException(Exception ex) throws Exception { for (Iterator<RetryReadListener> iterator = listeners.reverse(); iterator.hasNext();) { RetryReadListener listener = iterator.next(); listener.onRetryReadException(ex); } } }
@Test public void testAddMultipleOrdered() { list.setItems(Arrays.asList((Object) "1")); list.add(new Ordered() { @Override public int getOrder() { return 1; } }); list.add(new Ordered() { @Override public int getOrder() { return 0; } }); Iterator<Object> iterator = list.iterator(); assertEquals(0, ((Ordered) iterator.next()).getOrder()); assertEquals(1, ((Ordered) iterator.next()).getOrder()); assertEquals("1", iterator.next()); }
/** * Register additional listener. * * @param itemWriteListener list of {@link ItemWriteListener}s to be registered. */ public void register(ItemWriteListener<? super S> itemWriteListener) { listeners.add(itemWriteListener); }
/** * <p> * Public setter for the {@link RetryProcessListener}'s. * </p> * * @param listeners the {@link RetryProcessListener}'s to set */ public void setListeners(List<? extends RetryProcessListener> listeners) { this.listeners.setItems(listeners); }
/** * Call the registered listeners in order, respecting and prioritizing those * that implement {@link Ordered}. * @see org.springframework.batch.core.StepExecutionListener#beforeStep(StepExecution) */ @Override public void beforeStep(StepExecution stepExecution) { for (Iterator<StepExecutionListener> iterator = list.iterator(); iterator.hasNext();) { StepExecutionListener listener = iterator.next(); listener.beforeStep(stepExecution); } }
/** * Call the registered listeners in reverse order, respecting and * prioritising those that implement {@link Ordered}. * @see org.springframework.batch.core.ItemReadListener#afterRead(java.lang.Object) */ @Override public void afterRead(T item) { for (Iterator<ItemReadListener<? super T>> iterator = listeners.reverse(); iterator.hasNext();) { ItemReadListener<? super T> listener = iterator.next(); listener.afterRead(item); } }