小编Ayy*_*pak的帖子

如何从Spring批处理器process()方法向Spring批处理作业启动方法抛出异常?

我正在使用Web服务方法来启动spring批处理作业.如果在Spring批处理控件中发生任何异常,则会返回处理器处理方法.但是我需要控制器回到web服务方法,我必须抓住并编写代码以通过电子邮件发送异常.

网络服务方式:

public void processInputFiles() throws ServiceFault {

    String[] springConfig = { CONTEXT_FILE_NAME };

    ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);
    try {
        setClientInfo();

        JobLauncher jobLauncher = (JobLauncher) context.getBean(JOB_LAUNCHER);
        Job job = (Job) context.getBean(REMITTANCE_JOB);

        jobLauncher.run(job, new JobParameters());
    }catch (Exception e) {
        String errorMessage = "LockboxService exception:: Could not process Remittance(CSV) files";
        final Message message = MessageFactory.createErrorMessage(MyService.class, errorMessage, e);
        ErrorSenderFactory.getInstance().send(message, new Instruction[] { Instruction.ERROR_EMAIL });

    }
Run Code Online (Sandbox Code Playgroud)

处理器处理方法:

@Override
public Transmission process(InputDetail remrow) throws ServiceException {
  try {
    business logic here
  }
  catch(Exception e) …
Run Code Online (Sandbox Code Playgroud)

java spring web-services spring-batch

4
推荐指数
1
解决办法
6554
查看次数

标签 统计

java ×1

spring ×1

spring-batch ×1

web-services ×1