/** * Retrieves session info. * * GET /v1/session/info/{sessionId} * * @param sessionId * @return {@link SessionInfo}. */ public Optional<SessionInfo> getSessionInfo(final String sessionId) { return getSessionInfo(sessionId, null); }
private boolean acquireLock() { synchronized (sessionId) { String sid = sessionId.get(); return (sid != null) ? sessionClient.getSessionInfo(sid).map(si -> keyValueClient.acquireLock(path, sid)).orElse(Boolean.FALSE) : false; } }
@InvokeOnHeader(ConsulSessionActions.INFO) protected void info(Message message) throws Exception { String sessionId = message.getHeader(ConsulConstants.CONSUL_SESSION, String.class); if (ObjectHelper.isEmpty(sessionId)) { setBodyAndResult( message, getClient().getSessionInfo( message.getMandatoryBody(String.class), message.getHeader(ConsulConstants.CONSUL_DATACENTER, String.class) ).orElse(null) ); } else { setBodyAndResult( message, getClient().getSessionInfo( sessionId, message.getHeader(ConsulConstants.CONSUL_DATACENTER, String.class) ).orElse(null) ); } }