Package org.jboss.errai.bus.server.api

Examples of org.jboss.errai.bus.server.api.QueueActivationCallback


        final ReflectorCometHandler handler = new ReflectorCometHandler(true);
        context.addCometHandler(handler);

        if (!queue.messagesWaiting()) {
          queue.setActivationCallback(new QueueActivationCallback() {
            public void activate(MessageQueue queue) {
              queue.setActivationCallback(null);
              context.resumeCometHandler(handler);
              try {
                context.notify(null, CometEvent.NOTIFY, handler);
View Full Code Here



  private MessageQueue getQueue(QueueSession session, boolean pause) {
    MessageQueue queue = service.getBus().getQueue(session);
    if (pause && queue != null && queue.getActivationCallback() == null) {
      queue.setActivationCallback(new QueueActivationCallback() {
        volatile boolean resumed = false;

        public void activate(MessageQueue queue) {
          //      log.info("Resume...");
          if (resumed) {
View Full Code Here

  private MessageQueue getQueue(QueueSession session, boolean post) {
    MessageQueue queue = service.getBus().getQueue(session);

    if (post && queue != null && queue.getActivationCallback() == null) {
      queue.setActivationCallback(new QueueActivationCallback() {
        boolean resumed = false;

        public void activate(MessageQueue queue) {
          if (resumed) {
            //            log.info("Blocking");
View Full Code Here

          writer.write(SSE_TERMINATION_BYTES);
          writer.flush();
          return;
        }

        queue.setActivationCallback(new QueueActivationCallback() {
          @Override
          public void activate(final MessageQueue queue) {
            try {
              queue.poll(writer);

              writer.write(SSE_TERMINATION_BYTES);

              queue.heartBeat();
              writer.flush();

              prepareSSEContinue(asynResponse);
            }
            catch (IOException e) {
              log.debug("Closing queue with id: " + queue.getSession().getSessionId() + " due to IOException", e);
              queue.stopQueue();
            }
            catch (final Throwable t) {
              try {
                writeExceptionToOutputStream((HttpServletResponse) asyncContext.getResponse(), t);
              }
              catch (Throwable t2) {
                log.debug("Failed to write exception to dead client", t2);
              }
            }
          }
        });
      }
    }

    else {
      final AsyncContext asyncContext = request.startAsync();
      asyncContext.setTimeout(60000);
      queue.setTimeout(65000);
      writer = new OutputStreamWriteAdapter(asyncContext.getResponse().getOutputStream());

      asyncContext.addListener(new AsyncListener() {
          @Override
          public void onComplete(final AsyncEvent event) throws IOException {
            synchronized (queue.getActivationLock()) {
              queue.setActivationCallback(null);
              asyncContext.complete();
            }
          }

          @Override
          public void onTimeout(final AsyncEvent event) throws IOException {
            onComplete(event);
          }

          @Override
          public void onError(final AsyncEvent event) throws IOException {
            queue.setActivationCallback(null);
          }

          @Override
          public void onStartAsync(final AsyncEvent event) throws IOException {
          }
        });

      synchronized (queue.getActivationLock()) {
        if (queue.messagesWaiting()) {
          queue.poll(writer);
          asyncContext.complete();
          return;
        }

        queue.setActivationCallback(new QueueActivationCallback() {
          @Override
          public void activate(final MessageQueue queue) {
            try {
              queue.poll(writer);
              queue.setActivationCallback(null);
View Full Code Here

        if (queue.messagesWaiting()) {
          queue.poll(writer);
          writer.write(SSE_TERMINATION_BYTES);
        }

        queue.setActivationCallback(new QueueActivationCallback() {
          @Override
          public void activate(final MessageQueue queue) {
            try {
              queue.setActivationCallback(null);
              queue.poll(writer);

              writer.write(SSE_TERMINATION_BYTES);

              queue.heartBeat();
              writer.flush();

              prepareSSEContinue(response);
            }
            catch (final Throwable t) {
              try {
                writeExceptionToOutputStream((HttpServletResponse) asyncContext.getResponse(), t);
              }
              catch (IOException e) {
                throw new RuntimeException("Failed to write exception to output stream", e);
              }
            }
          }
        });

        writer.flush();
      }
    }

    else {
      final AsyncContext asyncContext = request.startAsync();
      asyncContext.setTimeout(60000);
      queue.setTimeout(65000);

      asyncContext.addListener(new AsyncListener() {
          @Override
          public void onComplete(final AsyncEvent event) throws IOException {
            synchronized (queue.getActivationLock()) {
              queue.setActivationCallback(null);
              asyncContext.complete();
            }
          }

          @Override
          public void onTimeout(final AsyncEvent event) throws IOException {
            onComplete(event);
          }

          @Override
          public void onError(final AsyncEvent event) throws IOException {
            queue.setActivationCallback(null);
          }

          @Override
          public void onStartAsync(final AsyncEvent event) throws IOException {
          }
        });

      synchronized (queue.getActivationLock()) {
        if (queue.messagesWaiting()) {
          queue.poll(writer);
          asyncContext.complete();
          return;
        }

        queue.setActivationCallback(new QueueActivationCallback() {
          @Override
          public void activate(final MessageQueue queue) {
            try {
              queue.poll(writer);
              queue.setActivationCallback(null);
View Full Code Here

        queue.poll(writer);
        asyncContext.complete();
        return;
      }

      queue.setActivationCallback(new QueueActivationCallback() {
        @Override
        public void activate(final MessageQueue queue) {
          try {
            queue.poll(writer);
            queue.setActivationCallback(null);
View Full Code Here

     
      @Override
      public void onStartAsync(AsyncEvent event) throws IOException {}
    });

    queue.setActivationCallback(new QueueActivationCallback() {
      @Override
      public void activate(MessageQueue queue) {
        try {
          poll(queue, asyncContext);
        }
View Full Code Here

  private MessageQueue getQueue(QueueSession session, boolean post) {
    MessageQueue queue = service.getBus().getQueue(session);

    if (post && queue != null && queue.getActivationCallback() == null) {
      queue.setActivationCallback(new QueueActivationCallback() {
        boolean resumed = false;

        public void activate(MessageQueue queue) {
          if (resumed) {
            return;
View Full Code Here

  private MessageQueue getQueue(QueueSession session, boolean post) {
    MessageQueue queue = service.getBus().getQueue(session);

    if (post && queue != null && queue.getActivationCallback() == null) {
      queue.setActivationCallback(new QueueActivationCallback() {
        boolean resumed = false;

        @Override
        public void activate(MessageQueue queue) {
          if (resumed) {
View Full Code Here

      @Override
      public void onStartAsync(AsyncEvent event) throws IOException {}
    });

    queue.setActivationCallback(new QueueActivationCallback() {
      @Override
      public void activate(MessageQueue queue) {
        try {
          poll(queue, asyncContext);
        }
View Full Code Here

TOP

Related Classes of org.jboss.errai.bus.server.api.QueueActivationCallback

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.