Skip to content

Instantly share code, notes, and snippets.

@akkida746
Created January 5, 2017 11:18
Show Gist options
  • Save akkida746/d2ea6fc94b4cc6b0259887348b3feedd to your computer and use it in GitHub Desktop.
Save akkida746/d2ea6fc94b4cc6b0259887348b3feedd to your computer and use it in GitHub Desktop.
Spring ItemProcessListener<Object,Object>
/**
*We use this process listener if we want to process the items before inserting into the database.
*Only used for custom processing.
*/
public class OrderItemProcessListener implements ItemProcessListener<Object,Object> {
private OrderDao orderDao;
private static final Logger logger = Logger.getLogger(OrderItemProcessListener.class);
//any pre processing on the item before inserting into database can be done here
public void beforeProcess(Object item) {
logger.info("inside beforeProcess(Object item)");
return;
}
//any post processing on the item before inserting into database can be done here
public void afterProcess(Object item, Object result) {
logger.info("inside afterProcess(Object item)");
return;
}
//any errors during processing will be caught here.
public void onProcessError(Object item, Exception e) {
logger.info("inside onProcessError(Object item, Exception e) ");
OrderDbMetaDataBean order = (OrderDbMetaDataBean) item;
order.setStatus("PROCESS_ERROR");
order.setErrorCd("PROCESS_ERROR");
orderDao.updateOrderProcessStatus(order);
}
public OrderDao getOrderDao() {
return orderDao;
}
public void setOrderDao(OrderDao orderDao) {
this.orderDao = orderDao;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment