Ejemplo n.º 1
0
  @Override
  public synchronized void succeeded(final BaseSendableGet succeeded, boolean persistent) {
    if (persistent) {
      try {
        jobRunner.queue(
            new DBJob() {

              @Override
              public boolean run(ObjectContainer container, ClientContext context) {
                if (container.ext().isActive(succeeded))
                  Logger.error(this, "ALREADY ACTIVE in succeeded(): " + succeeded);
                container.activate(succeeded, 1);
                schedCore.succeeded(succeeded, container);
                container.deactivate(succeeded, 1);
                return false;
              }

              @Override
              public String toString() {
                return "BaseSendableGet succeeded";
              }
            },
            TRIP_PENDING_PRIORITY,
            false);
      } catch (DatabaseDisabledException e) {
        Logger.error(
            this,
            "succeeded() on a persistent request but database disabled",
            new Exception("error"));
      }
      // Boost the priority so the PersistentChosenRequest gets deleted reasonably quickly.
    } else schedTransient.succeeded(succeeded, null);
  }