Advertisement
Guest User

1

a guest
May 30th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.12 KB | None | 0 0
  1.      try
  2.         {
  3.             creditRabbitOperationManager.writeOffAmqpProcess(context.getMergedJobDataMap().getInt("punterId"));
  4.             logger.debug("CreditWriteOffJob execute in context {}", context);
  5.         }
  6.         catch (Exception e)
  7.         {
  8.             creditConsumer.scheduleWriteOffJob(context.getMergedJobDataMap().getInt("punterId"), true);
  9.             logger.info("Job tried to recover!");
  10.  
  11.             JobExecutionException e2 = new JobExecutionException(e);
  12.  
  13.             // fire it again
  14.             e2.setRefireImmediately(true);
  15.             throw e2;
  16.         }
  17.  
  18.  
  19.  
  20.     private void sheduleWriteOffJob(Integer punterId, boolean isChangeEventFinishTime)
  21.     {
  22.         try
  23.         {
  24.             String triggerName = "writeoff_credit-" + punterId;
  25.             if (punterId != null && !schedulerFactory.getScheduler().checkExists(new TriggerKey(triggerName)))
  26.             {
  27.                 SimpleTrigger trigger;
  28.                 if (isChangeEventFinishTime)
  29.                 {
  30.                     // добавляем задержку 5 сек для джоб с изменением фиништайма
  31.                     trigger = triggerFactory.getObject().getTriggerBuilder().usingJobData("punterId", punterId)
  32.                             .withIdentity(triggerName).startAt(new Date(System.currentTimeMillis() + 5000)).build();
  33.  
  34.                 }
  35.                 else
  36.                 {
  37.                     // для всех остальных.
  38.                     trigger = triggerFactory.getObject().getTriggerBuilder().usingJobData("punterId", punterId)
  39.                             .withIdentity(triggerName).build();
  40.                 }
  41.                 schedulerFactory.getScheduler().scheduleJob(trigger);
  42.             }
  43.         }
  44.         catch (ObjectAlreadyExistsException e)
  45.         {
  46.             logger.error("Error writeoff job schedule for punter {}, job allready exist", punterId);
  47.         }
  48.         catch (SchedulerException e)
  49.         {
  50.             logger.error("Error writeoff job schedule for punter {}", punterId, e);
  51.             throw new RuntimeException(e);
  52.         }
  53.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement