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

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


    SessionsContainer sc = (SessionsContainer) externSessRef.getAttribute(HTTP_SESS);
    if (sc == null) {
      externSessRef.setAttribute(HTTP_SESS, sc = new SessionsContainer());
    }

    QueueSession qs = sc.getSession(remoteQueueID);
    if (qs == null) {
      qs = sc.createSession(externSessRef.getId(), remoteQueueID);
    }

    return qs;
View Full Code Here


     */
    private Map<String, Object> sharedAttributes = new HashMap<String, Object>();
    private Map<String, QueueSession> queueSessions = new HashMap<String, QueueSession>();

    public QueueSession createSession(String externalSessionID, String remoteQueueId) {
      QueueSession qs = new HttpSessionWrapper(this, externalSessionID, remoteQueueId);
      queueSessions.put(remoteQueueId, qs);
      return qs;
    }
View Full Code Here

  protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
          throws ServletException, IOException {

    int pollId = new Double(Math.random() * 1000).intValue();

    final QueueSession session = sessionProvider.getSession(httpServletRequest.getSession(),
            httpServletRequest.getHeader(ClientMessageBus.REMOTE_QUEUE_ID_HEADER));

    service.store(createCommandMessage(session, httpServletRequest.getInputStream()));

    pollForMessages(session, httpServletRequest, httpServletResponse, false);
View Full Code Here

  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    final QueueSession session = sessionProvider.getSession(request.getSession(),
        request.getHeader(ClientMessageBus.REMOTE_QUEUE_ID_HEADER));

    BufferedReader reader = request.getReader();
    StringAppender sb = new StringAppender(request.getContentLength());
    CharBuffer buffer = CharBuffer.allocate(10);
View Full Code Here

   */
  @Override
  protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
          throws ServletException, IOException {

    final QueueSession session = sessionProvider.getSession(httpServletRequest.getSession(),
            httpServletRequest.getHeader(ClientMessageBus.REMOTE_QUEUE_ID_HEADER));

    try {
      service.store(createCommandMessage(session, httpServletRequest.getInputStream()));
    }
View Full Code Here

      e.printStackTrace();
    }
  }

  private void addAuthenticationToken(Message message, AuthSubject loginSubject) {
    QueueSession session = message.getResource(QueueSession.class, "Session");
    session.setAttribute(ErraiService.SESSION_AUTH_DATA, loginSubject);
  }
View Full Code Here

    QueueSession session = message.getResource(QueueSession.class, "Session");
    session.setAttribute(ErraiService.SESSION_AUTH_DATA, loginSubject);
  }

  public boolean isAuthenticated(Message message) {
    QueueSession session = message.getResource(QueueSession.class, "Session");
    return session != null && session.hasAttribute(ErraiService.SESSION_AUTH_DATA);
  }
View Full Code Here

   */
  @Override
  protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
      throws ServletException, IOException {

    final QueueSession session = sessionProvider.getSession(httpServletRequest.getSession(),
        httpServletRequest.getHeader(ClientMessageBus.REMOTE_QUEUE_ID_HEADER));

    BufferedReader reader = httpServletRequest.getReader();
    StringAppender sb = new StringAppender(httpServletRequest.getContentLength());
    CharBuffer buffer = CharBuffer.allocate(10);
View Full Code Here

   * @throws IOException      - thrown if there is a read/write error
   * @throws ServletException - thrown if a servlet error occurs
   */
  public void event(final CometEvent event) throws IOException, ServletException {
    final HttpServletRequest request = event.getHttpServletRequest();
    final QueueSession session = sessionProvider.getSession(request.getSession(), request.getHeader(ClientMessageBus.REMOTE_QUEUE_ID_HEADER));

    MessageQueue queue;
    switch (event.getEventType()) {
      case BEGIN:
        boolean post = "POST".equals(request.getMethod());
        if ((queue = getQueue(session, !post)) != null) {
          synchronized (activeEvents) {
            Set<CometEvent> events = activeEvents.get(session);


            if (post) {
              // do not pause incoming messages.
              break;
            }
            else if (queue.messagesWaiting()) {
              transmitMessages(event.getHttpServletResponse(), queue);
              event.close();
              break;
            }

            if (!queueToSession.containsKey(queue)) {
              queueToSession.put(queue, session);
            }

            if (events == null) {
              activeEvents.put(session, events = new HashSet<CometEvent>());
            }
            if (events.contains(event)) {
              break;
            }
            else {
              event.setTimeout(30000);
              events.add(event);
            }
          }
        }
        else {
          switch (getConnectionPhase(request)) {
            case CONNECTING:
            case DISCONNECTING:
              return;
          }

          sendDisconnectWithReason(event.getHttpServletResponse().getOutputStream(),
              "There is no queue associated with this session.");
        }
        break;

      case END:
        event.close();
        synchronized (activeEvents) {
          Set<CometEvent> evt = activeEvents.get(session);
          if (evt != null && !evt.remove(event)) {
            return;
          }
        }

        if ((queue = getQueue(session, false)) != null) {
          queue.heartBeat();
        }
        else {
          return;
        }


        break;

      case ERROR:
        log.error("An Error Occured: " + (event != null ? event.getEventSubType() : "<null>"));

        queue = getQueue(session, false);
        if (queue == null) {
          return;
        }

        synchronized (activeEvents) {
          Set<CometEvent> evt = activeEvents.get(session);
          if (evt != null && !evt.remove(event)) {
            return;
          }
        }

        if (event.getEventSubType() == CometEvent.EventSubType.TIMEOUT) {
          if (queue != null) queue.heartBeat();
        }
        else {
          if (queue != null) {
            queueToSession.remove(queue);
            service.getBus().closeQueue(session.getSessionId());
            activeEvents.remove(session);
          }

        }

View Full Code Here

          resumed = true;
          queue.setActivationCallback(null);

          try {
            Set<CometEvent> activeSessEvents;
            QueueSession session;
            session = queueToSession.get(queue);
            if (session == null) {
              log.error("Could not resume: No session.");
              queue.stopQueue();
              return;
View Full Code Here

TOP

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

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.