本文整理了Java中org.jboss.errai.bus.client.api.QueueSession
类的一些代码示例,展示了QueueSession
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueueSession
类的具体详情如下:
包路径:org.jboss.errai.bus.client.api.QueueSession
类名称:QueueSession
[英]The combination of a communication channel (identified by an HTTPSession or other communication session, such as an open WebSocket channel) with an Errai Bus queue ID. An instance of QueueSession identifies a physical communication link with a specific subject on a remote bus. A single communication link typically has many QueueSession instances (one per bus subject).
QueueSession provides a map-like facility for storing and retrieving arbitrary object ("attributes") by name. These attributes are shared among all QueueSession instances that are associated with the same communication channel (for example, an HTTPSession or a WebSocketChannel).
[中]通信信道(由HTTPSession或其他通信会话标识,如开放WebSocket信道)与Errai总线队列ID的组合。QueueSession实例标识远程总线上特定主题的物理通信链路。单个通信链路通常有多个QueueSession实例(每个总线主体一个)。
####关于属性范围的说明
QueueSession提供了一种类似地图的工具,用于按名称存储和检索任意对象(“属性”)。这些属性在与同一通信通道(例如,HTTPSession或WebSocketChannel)关联的所有QueueSession实例之间共享。
代码示例来源: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
private SubContext getLocalContext() {
synchronized (this) {
SubContext ctx = session.getAttribute(SubContext.class, context);
if (ctx == null) {
session.setAttribute(context, ctx = new SubContext());
}
return ctx;
}
}
代码示例来源:origin: org.jboss.errai/errai-bus
@Override
public QueueSession createOrGetSession(final HttpSession externSessRef, final String remoteQueueID) {
final SessionsContainer sc;
if (containersByHttpSessionId.containsKey(externSessRef.getId())) {
sc = containersByHttpSessionId.get(externSessRef.getId());
}
else {
sc = new SessionsContainer();
containersByHttpSessionId.put(externSessRef.getId(), sc);
csrfCheck.prepareSession(externSessRef, log);
}
QueueSession qs = sc.getSession(remoteQueueID);
if (qs == null) {
log.debug("queue session " + remoteQueueID + " started");
qs = sc.createSession(externSessRef.getId(), remoteQueueID);
qs.setAttribute(HttpSession.class.getName(), externSessRef);
qs.addSessionEndListener(new SessionEndListener() {
@Override
public void onSessionEnd(final SessionEndEvent event) {
log.debug("queue session " + remoteQueueID + " ended");
sc.removeSession(remoteQueueID);
}
});
}
return qs;
}
代码示例来源:origin: org.jboss.errai/errai-bus
@SuppressWarnings("SynchronizationOnLocalVariableOrMethodParameter")
public static boolean verifyOneTimeToken(final QueueSession session, final String token) {
synchronized (session) {
final boolean tokenRemoved;
if (session.hasAttribute(TOKEN_STORE)) {
final List tokenStore = session.getAttribute(List.class, TOKEN_STORE);
tokenRemoved = tokenStore.remove(token);
if (tokenStore.isEmpty()) {
session.removeAttribute(TOKEN_STORE);
}
}
else {
tokenRemoved = false;
}
return tokenRemoved;
}
}
}
代码示例来源:origin: org.jboss.errai/errai-bus
queue.stopQueue();
closeQueue(queue);
session.endSession();
busMonitor.notifyQueueAttached(session.getSessionId(), queue);
if (sseEnabled && !session.hasAttribute("NoSSE")) {
capabilitiesBuffer.append(",").append(Capabilities.SSE.name());
msg.set(ConnectionSessionKey, queue.getSession().getSessionId());
send(msg, false);
代码示例来源:origin: errai/errai
LOGGER.trace(
"Negotiation done for errai session: {} on websocket session: {}",
queueSession.getSessionId(), session.getId());
queueSession.addSessionEndListener(new SessionEndListener() {
@Override
public void onSessionEnd(SessionEndEvent event) {
代码示例来源:origin: org.jboss.errai/errai-bus
/**
* @return the HTTP session object associated with this {@link Thread}
*/
public static HttpSession getHttpSession() {
final QueueSession qs = getQueueSession();
if (qs == null) {
return null;
}
return qs.getAttribute(HttpSession.class, HttpSession.class.getName());
}
代码示例来源:origin: org.jboss.errai/errai-bus
ref.getSession().endSession();
deferredQueue.remove(ref);
ref.discard();
代码示例来源:origin: errai/errai
queue.stopQueue();
closeQueue(queue);
session.endSession();
busMonitor.notifyQueueAttached(session.getSessionId(), queue);
if (sseEnabled && !session.hasAttribute("NoSSE")) {
capabilitiesBuffer.append(",").append(Capabilities.SSE.name());
msg.set(ConnectionSessionKey, queue.getSession().getSessionId());
send(msg, false);
代码示例来源:origin: org.jboss.errai/errai-bus-jsr356-websocket
LOGGER.trace(
"Negotiation done for errai session: {} on websocket session: {}",
queueSession.getSessionId(), session.getId());
queueSession.addSessionEndListener(new SessionEndListener() {
@Override
public void onSessionEnd(SessionEndEvent event) {
代码示例来源:origin: errai/errai
@SuppressWarnings("SynchronizationOnLocalVariableOrMethodParameter")
public static boolean verifyOneTimeToken(final QueueSession session, final String token) {
synchronized (session) {
final boolean tokenRemoved;
if (session.hasAttribute(TOKEN_STORE)) {
final List tokenStore = session.getAttribute(List.class, TOKEN_STORE);
tokenRemoved = tokenStore.remove(token);
if (tokenStore.isEmpty()) {
session.removeAttribute(TOKEN_STORE);
}
}
else {
tokenRemoved = false;
}
return tokenRemoved;
}
}
}
代码示例来源:origin: errai/errai
/**
* @return the HTTP session object associated with this {@link Thread}
*/
public static HttpSession getHttpSession() {
final QueueSession qs = getQueueSession();
if (qs == null) {
return null;
}
return qs.getAttribute(HttpSession.class, HttpSession.class.getName());
}
代码示例来源:origin: errai/errai
ref.getSession().endSession();
deferredQueue.remove(ref);
ref.discard();
代码示例来源: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
@SuppressWarnings({"unchecked", "SynchronizationOnLocalVariableOrMethodParameter"})
public static String getNewOneTimeToken(final QueueSession session) {
synchronized (session) {
List tokenStore = session.getAttribute(List.class, TOKEN_STORE);
if (tokenStore == null) {
session.setAttribute(TOKEN_STORE, tokenStore = new ArrayList());
}
if (tokenStore.size() == 6) {
log.warn("Client with session " + session +
" has too many active tokens. Removing oldest one and deactivating channel.");
tokenStore.remove(0);
}
final String oneTimeToken = SecureHashUtil.nextSecureHash("SHA-256");
tokenStore.add(oneTimeToken);
return oneTimeToken;
}
}
代码示例来源:origin: org.jboss.errai/errai-weld-integration
private void updateLaundry(final QueueSession queueSession) {
Boolean routesActive = queueSession.getAttribute(Boolean.class, CDI_EVENT_ROUTES_ACTIVE);
if (routesActive == null) {
synchronized (queueSession) {
routesActive = queueSession.getAttribute(Boolean.class, CDI_EVENT_ROUTES_ACTIVE);
if (routesActive == null) {
final LaundryList laundryList = LaundryListProviderFactory.get().getLaundryList(queueSession);
laundryList.add(new Laundry() {
@Override
public void clean() throws Exception {
removeAllForId(queueSession.getSessionId());
}
});
}
}
}
}
}
代码示例来源:origin: errai/errai
@Override
public QueueSession createOrGetSession(final HttpSession externSessRef, final String remoteQueueID) {
final SessionsContainer sc;
if (containersByHttpSessionId.containsKey(externSessRef.getId())) {
sc = containersByHttpSessionId.get(externSessRef.getId());
}
else {
sc = new SessionsContainer();
containersByHttpSessionId.put(externSessRef.getId(), sc);
csrfCheck.prepareSession(externSessRef, log);
}
QueueSession qs = sc.getSession(remoteQueueID);
if (qs == null) {
log.debug("queue session " + remoteQueueID + " started");
qs = sc.createSession(externSessRef.getId(), remoteQueueID);
qs.setAttribute(HttpSession.class.getName(), externSessRef);
qs.addSessionEndListener(new SessionEndListener() {
@Override
public void onSessionEnd(final SessionEndEvent event) {
log.debug("queue session " + remoteQueueID + " ended");
sc.removeSession(remoteQueueID);
}
});
}
return qs;
}
代码示例来源:origin: org.jboss.errai/errai-bus
public static String getPageFileName(final MessageQueue queue) {
return tempDir + "/queuecache/" + queue.getSession().getSessionId().replaceAll("\\-", "_");
}
代码示例来源:origin: errai/errai
private SubContext getLocalContext() {
synchronized (this) {
SubContext ctx = session.getAttribute(SubContext.class, context);
if (ctx == null) {
session.setAttribute(context, ctx = new SubContext());
}
return ctx;
}
}
代码示例来源:origin: kiegroup/appformer
@Before
public void setup() {
setupRpcContext();
User testUser = new UserImpl("testUser");
when(sessionInfo.getIdentity()).thenReturn(testUser);
when(queueSession.getAttribute(HttpSession.class,
HttpSession.class.getName())).thenReturn(httpSession);
}
内容来源于网络,如有侵权,请联系作者删除!