Example #1
0
 public void onMessage(Message message) {
   ObjectMessage om = (ObjectMessage) message;
   try {
     DeleteStudyOrder order = (DeleteStudyOrder) om.getObject();
     log.info("Start processing " + order);
     try {
       process(order);
       log.info("Finished processing " + order);
     } catch (Exception e) {
       order.setThrowable(e);
       final int failureCount = order.getFailureCount() + 1;
       order.setFailureCount(failureCount);
       final long delay = retryIntervalls.getIntervall(failureCount);
       if (delay == -1L) {
         log.error("Give up to process " + order, e);
         jmsDelegate.fail(moveFilesOfStudyQueueName, order);
       } else {
         log.warn("Failed to process " + order + ". Scheduling retry.", e);
         jmsDelegate.queue(
             moveFilesOfStudyQueueName, order, 0, System.currentTimeMillis() + delay);
       }
     }
   } catch (JMSException e) {
     log.error("jms error during processing message: " + message, e);
   } catch (Throwable e) {
     log.error("unexpected error during processing message: " + message, e);
   }
 }
Example #2
0
 protected void schedule(DeleteStudyOrder order, long scheduledTime) throws Exception {
   if (srcFsGroup == null || destFsGroup == null) {
     String msg =
         "FileMove service is disabled! Set SourceFileSystemGroupID and DestinationFileSystemGroupID to enable it.";
     log.info(msg);
     throw new RuntimeException(msg);
   } else if ("ERROR".equals(getUsableDiskSpaceStringOnDest())) {
     String msg =
         "UsableDiskSpaceStringOnDest reports an error! Scheduling Move Order cancelled! Please check DestinationFileSystemGroupID configuration!";
     log.error(msg);
     throw new RuntimeException(msg);
   } else {
     if (log.isInfoEnabled()) {
       String scheduledTimeStr = scheduledTime > 0 ? new Date(scheduledTime).toString() : "now";
       log.info(
           "Scheduling job ["
               + order
               + "] at "
               + scheduledTimeStr
               + ". Retry times: "
               + order.getFailureCount());
     }
     jmsDelegate.queue(moveFilesOfStudyQueueName, order, Message.DEFAULT_PRIORITY, scheduledTime);
   }
 }