org.jboss.errai.bus.client.api.QueueSession.getSessionId()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(80)

本文整理了Java中org.jboss.errai.bus.client.api.QueueSession.getSessionId方法的一些代码示例,展示了QueueSession.getSessionId的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueueSession.getSessionId方法的具体详情如下:
包路径:org.jboss.errai.bus.client.api.QueueSession
类名称:QueueSession
方法名:getSessionId

QueueSession.getSessionId介绍

[英]Returns the ID of this session, which uniquely identifies it within the scope of this client (or server for a server side session). This is not the ID of the underlying wrapped session (for example, it is not a Servlet Session ID).
[中]返回此会话的ID,该ID在此客户端(或服务器端会话的服务器)范围内唯一标识该会话。这不是底层包装会话的ID(例如,它不是Servlet会话ID)。

代码示例

代码示例来源:origin: org.jboss.errai/errai-bus

private void addQueue(final QueueSession session, final MessageQueue queue) {
 messageQueues.put(session, queue);
 sessionLookup.put(session.getSessionId(), session);
}

代码示例来源:origin: org.jboss.errai/errai-bus

@Override
public void associateNewQueue(final QueueSession oldSession, final QueueSession newSession) {
 sessionLookup.put(newSession.getSessionId(), oldSession);
 messageQueues.put(newSession, getQueue(oldSession));
}

代码示例来源:origin: org.jboss.errai/errai-bus

public static String getPageFileName(final MessageQueue queue) {
 return tempDir + "/queuecache/" + queue.getSession().getSessionId().replaceAll("\\-", "_");
}

代码示例来源:origin: org.jboss.errai/errai-bus

private LocalContext(String context, QueueSession session) {
 if (session == null) {
  throw new RuntimeException("no session");
 }
 this.context = createContextString(session.getSessionId() + "/" + context);
 this.session = session;
 this.ctx = getLocalContext();
}

代码示例来源:origin: org.jboss.errai/errai-bus

@Override
public void attachMonitor(final BusMonitor monitor) {
 if (this.busMonitor != null) {
  log.warn("new monitor attached, but a monitor was already attached: old monitor has been detached.");
 }
 this.busMonitor = monitor;
 for (final Map.Entry<QueueSession, MessageQueue> entry : messageQueues.entrySet()) {
  busMonitor.notifyQueueAttached(entry.getKey().getSessionId(), entry.getValue());
 }
 for (final String subject : subscriptions.keySet()) {
  busMonitor.notifyNewSubscriptionEvent(new SubscriptionEvent(false, "None", 1, false, subject));
 }
 for (final Map.Entry<String, RemoteMessageCallback> entry : remoteSubscriptions.entrySet()) {
  for (final MessageQueue queue : entry.getValue().getQueues()) {
   busMonitor.notifyNewSubscriptionEvent(
     new SubscriptionEvent(true, queue.getSession().getSessionId(), 1, false, entry.getKey())
   );
  }
 }
 monitor.attach(this);
}

代码示例来源:origin: org.jboss.errai/errai-bus

@SuppressWarnings("unchecked")
 private static Message from(Map parts, QueueSession session, HttpServletRequest request) {
  Message msg = createWithParts(parts)
      .setResource("Session", session)
      .setResource("SessionID", session.getSessionId())
      .setResource(HttpServletRequest.class.getName(), request);
  msg.setFlag(RoutingFlag.FromRemote);
  return msg;
 }
}

代码示例来源:origin: org.jboss.errai/errai-bus

@Override
public void wake() {
 if (!queueRunning) return;
 try {
  if (deliveryHandler instanceof Wakeable) {
   ((Wakeable) deliveryHandler).onWake(this);
  }
  else {
   deliveryHandler.noop(this);
  }
  fireActivationCallback();
 }
 catch (Throwable e) {
  log.debug("unable to wake queue: " + session.getSessionId());
  stopQueue();
 }
}

代码示例来源:origin: org.jboss.errai/errai-bus

/**
 * Unsubscribes a remote subscription and fires the appropriate listeners
 *
 * @param sessionContext
 *     - session context of queue
 * @param queue
 *     - the message queue
 * @param subject
 *     - the subject to unsubscribe from
 */
public void remoteUnsubscribe(final QueueSession sessionContext, final MessageQueue queue, final String subject) {
 if (!remoteSubscriptions.containsKey(subject)) {
  return;
 }
 final RemoteMessageCallback rmc = remoteSubscriptions.get(subject);
 rmc.removeQueue(queue);
 try {
  fireUnsubscribeListeners(new SubscriptionEvent(true, rmc.getQueueCount() == 0, false, false, rmc.getQueueCount(),
    sessionContext.getSessionId(), subject));
 }
 catch (Exception e) {
  e.printStackTrace();
 }
}

代码示例来源:origin: org.jboss.errai/errai-bus

private MessageQueue getQueueByMessage(final Message message) {
 final MessageQueue queue = getQueue(getSession(message));
 if (queue == null) {
  throw new QueueUnavailableException("no queue available to send. (queue or session may have expired): " +
    "(session id: " + getSession(message).getSessionId() + ")");
 }
 else {
  return queue;
 }
}

代码示例来源:origin: org.jboss.errai/errai-bus

private void fireQueueCloseListeners(final QueueCloseEvent event) {
 if (isMonitor()) {
  busMonitor.notifyQueueDetached(event.getQueue().getSession().getSessionId(), event.getQueue());
 }
 synchronized (queueClosedListeners) {
  event.setDisposeListener(false);
  for (Iterator<QueueClosedListener> iter = queueClosedListeners.iterator(); iter.hasNext(); ) {
   iter.next().onQueueClosed(event);
   if (event.isDisposeListener()) {
    iter.remove();
    event.setDisposeListener(false);
   }
  }
 }
}

代码示例来源:origin: org.jboss.errai/errai-bus

@Override
public boolean deliver(final MessageQueue queue, final Message message) throws IOException {
 try {
  directSocketChannel.write("[" + BusToolsCli.encodeMessage(message) + "]");
  return true;
 }
 catch (Throwable e) {
  log.info("error writing to socket for queue " + queue.getSession().getSessionId());
  LocalContext.get(queue.getSession()).destroy();
  queue.stopQueue();
  e.printStackTrace();
  return false;
 }
}

代码示例来源:origin: org.jboss.errai/errai-bus

if (message.isFlagSet(RoutingFlag.FromRemote)) {
 busMonitor.notifyIncomingMessageFromRemote(
   message.getResource(QueueSession.class, Resources.Session.name()).getSessionId(), message);

代码示例来源:origin: org.jboss.errai/errai-bus

private void send(final MessageQueue queue, final Message message, final boolean fireListeners) {
 try {
  if (isMonitor()) {
   busMonitor.notifyOutgoingMessageToRemote(queue.getSession().getSessionId(), message);
  }
  enqueueForDelivery(queue, message);
 }
 catch (NoSubscribersToDeliverTo nstdt) {
  // catch this so we can get a full trace
  handleMessageDeliveryFailure(this, message, "No subscribers to deliver to", nstdt, false);
 }
}

代码示例来源:origin: org.jboss.errai/errai-bus

@SuppressWarnings("unchecked")
public static Message createCommandMessage(QueueSession session, String json) {
 if (json.length() == 0) return null;
 Message msg = createWithPartsFromRawMap(ErraiProtocolEnvelopeMarshaller.INSTANCE.demarshall(JSONDecoder.decode(json),
   new DecodingSession(MappingContextSingleton.get())))
     .setResource("Session", session)
     .setResource("SessionID", session.getSessionId());
 msg.setFlag(RoutingFlag.FromRemote);
 return msg;
}

代码示例来源:origin: org.jboss.errai/errai-bus

@Override
 public void activate(final MessageQueue queue) {
  try {
   queue.poll(new OutputStreamWriteAdapter(asyncContext.getResponse().getOutputStream()));
   queue.setActivationCallback(null);
   queue.heartBeat();
  }
  catch (IOException e) {
   log.debug("Closing queue with id: " + queue.getSession().getSessionId() + " due to IOException", e);
  }
  catch (final Throwable t) {
   try {
    writeExceptionToOutputStream((HttpServletResponse) asyncContext.getResponse(), t);
   }
   catch (Throwable t2) {
    log.debug("Failed to write exception to dead client", t2);
   }
  }
  finally {
   asyncContext.complete();
  }
 }
});

代码示例来源:origin: org.jboss.errai/errai-bus

new SubscriptionEvent(true, sessionContext.getSessionId(), rmc.getQueueCount(), isNew, subject)
);

代码示例来源:origin: org.jboss.errai/errai-bus

@Override
 public boolean copyFromBuffer(TimeUnit timeUnit, int timeout, MessageQueue queue, ByteWriteAdapter toAdapter)
   throws IOException {
  final MarkedByteWriteAdapter markedOutputStream = new MarkedByteWriteAdapter(toAdapter);

  try {
   queue.getBuffer().readWait(timeUnit, timeout, markedOutputStream, queue.getBufferColor(),
     new MultiMessageFilter());
   
   if (markedOutputStream.dataWasWritten() && markedOutputStream.getBytesWritten() > 2) {
    queue.resetMessageCount();
    return true;
   }
  }
  catch (BufferOverflowException e) {
   queue.getBufferColor().getSequence().set(queue.getBuffer().getHeadSequence());
   log.warn("buffer data was evicted for session " + queue.getSession().getSessionId()
     + " due to overflow condition. (consider increasing buffer size with errai.bus.buffer_size "
     + "in ErraiService.properties)");
  }
  catch (InterruptedException e) {
   e.printStackTrace();
  }

  return false;
 }
}

代码示例来源:origin: org.jboss.errai/errai-bus

@Override
public boolean copyFromBuffer(final MessageQueue queue,
               final ByteWriteAdapter toAdapter) throws IOException {
 final MarkedByteWriteAdapter markedOutputStream = new MarkedByteWriteAdapter(toAdapter);
 try {
  queue.getBuffer().read(markedOutputStream, queue.getBufferColor(), new MultiMessageFilter());
  
  if (markedOutputStream.dataWasWritten() && markedOutputStream.getBytesWritten() > 2) {
   queue.resetMessageCount();
   return true;
  }
 }
 catch (BufferOverflowException e) {
  queue.getBufferColor().getSequence().set(queue.getBuffer().getHeadSequence());
  log.warn("buffer data was evicted for session " + queue.getSession().getSessionId()
    + " due to overflow condition. (consider increasing buffer size with errai.bus.buffer_size "
    + "in ErraiService.properties)");
 }
 return false;
}

代码示例来源:origin: org.jboss.errai/errai-bus

private Message createForwardMessageFor(final Message message, final String messageId) {
 final Message forward = CommandMessage.create()
   .set(ToSubject, CLUSTER_SERVICE)
   .set(CommandType, ClusterCommands.MessageForward.name())
   .set(Payload, ErraiProtocol.encodePayload(message.getParts()))
   .set(BusId, busId);
 if (message.hasPart(SessionID)) {
  final String value = message.get(String.class, SessionID);
  if (!IntrabusQueueSession.INSTANCE.getSessionId().equals(value)) {
   forward.set(SessId, value);
  }
 }
 if (messageId != null) {
  forward.set(MessageId, messageId);
 }
 return forward;
}

代码示例来源:origin: org.jboss.errai/errai-bus

LOGGER.debug("set direct delivery handler on session: {}", session.getSessionId());
LOGGER.debug("activation key not match for session: {}", session.getSessionId());
sendMessage(queueChannel, WebSocketNegotiationMessage.getFailedNegotiation(error));
LOGGER.debug("reverse challange for session: {}", session.getSessionId());
sendMessage(queueChannel, WebSocketNegotiationMessage.getReverseChallenge(reverseToken));
return null;

相关文章

微信公众号

最新文章

更多