示例#1
0
  public static void writeTimers(Collection<TimerJobInstance> timers, MarshallerWriteContext outCtx)
      throws IOException {
    List<TimerJobInstance> sortedTimers = new ArrayList<TimerJobInstance>(timers);
    Collections.sort(
        sortedTimers,
        new Comparator<TimerJobInstance>() {
          public int compare(TimerJobInstance o1, TimerJobInstance o2) {
            return (int) (o1.getJobHandle().getId() - o2.getJobHandle().getId());
          }
        });

    for (TimerJobInstance timer : sortedTimers) {
      outCtx.writeShort(PersisterEnums.DEFAULT_TIMER);
      JobContext jctx = ((SelfRemovalJobContext) timer.getJobContext()).getJobContext();
      TimersOutputMarshaller writer = outCtx.writersByClass.get(jctx.getClass());
      writer.write(jctx, outCtx);
    }
    outCtx.writeShort(PersisterEnums.END);
  }