package com.ewolff.orderhandling.batch; import org.junit.Assert; import org.springframework.batch.core.Job; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.launch.JobLauncher; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.ewolff.orderhandling.dao.OrderDao; import com.ewolff.orderhandling.domain.Order; import com.ewolff.orderhandling.domain.OrderItem; public class OrderBatchFulfillmentMain { public static void main(String[] args) throws Exception { ApplicationContext applicationContext = new ClassPathXmlApplicationContext( new String[] { "/application-config.xml", "/jobs.xml", "/batch-config.xml" }); OrderDao orderDao = (OrderDao) applicationContext.getBean("orderDao"); JobLauncher jobLauncher = (JobLauncher) applicationContext .getBean("jobLauncher"); Order order = new Order(false, 21); OrderItem orderItem = new OrderItem(0, "Power"); order.addOrderItem(orderItem); for (int i = 0; i < 10; i++) { orderItem.setCount(i); orderDao.create(order); Assert.assertFalse(order.isProcessed()); } Assert.assertTrue(orderDao.findAllOrder().size() > 9); JobExecution execution = jobLauncher.run((Job) applicationContext .getBean("fulfillmentjob"), new JobParameters()); Assert.assertFalse(execution.isRunning()); for (Order o : orderDao.findAllOrder()) { Assert.assertTrue(o.isProcessed()); Assert.assertTrue(o.isInvoiced()); } System.out.println("Sucess"); System.exit(0); } }