@Override public Object invoke(final InvocationRequest invocation) throws Throwable { // Called for every client connecting to the server (after add Listener) String sessionId = invocation.getSessionId(); Map map = invocation.getRequestPayload(); String host; if (map != null) { InetAddress clientAddress = (InetAddress) invocation.getRequestPayload().get(Remoting.CLIENT_ADDRESS); host = clientAddress.getHostAddress(); } else { host = "localhost"; } Optional<Session> session = SessionManager.instance.getSession(sessionId); if (!session.isPresent()) { logger.error("Session not found : " + sessionId); } else { session.get().setHost(host); } return null; }
private boolean isOneway(InvocationRequest invocationRequest) { boolean isOneway = false; Map metadata = invocationRequest.getRequestPayload(); if (metadata != null) { Object val = metadata.get(Client.ONEWAY_FLAG); if (val != null && val instanceof String && Boolean.valueOf((String) val).booleanValue()) { isOneway = true; } } return isOneway; }
/** * Determine if the invocation request represents a one-way (asynchronous) * invocation. * * @param invocation The invocation request. * @return <code>true</code> if this is a one-way invocation. */ public static boolean isOneWayInvocation(InvocationRequest invocation) { Map requestPayload = invocation.getRequestPayload(); if (requestPayload != null) { String value = (String)requestPayload.get(Client.ONEWAY_FLAG); return Boolean.valueOf(value).booleanValue(); } else { return false; } }
/** * Set the invocation request as one-way (asynchronous). * * @param invocation The invocation request. */ public static void setOneWayInvocation(InvocationRequest invocation) { Map requestPayload = invocation.getRequestPayload(); if (requestPayload == null) { requestPayload = new HashMap(); invocation.setRequestPayload(requestPayload); } requestPayload.put(Client.ONEWAY_FLAG, Boolean.TRUE.toString()); }
/** * Returns an id that can be used to identify this particular callback handler, which should be * representative of the client invoker it will make callbacks to. Currently, this is the * session id associated with the invocation request. */ public static String getId(InvocationRequest invocation) { String sessionId = invocation.getSessionId(); Map metadata = invocation.getRequestPayload(); if(metadata != null) { String listenerId = (String) metadata.get(Client.LISTENER_ID_KEY); if(listenerId != null) { sessionId = sessionId + "+" + listenerId; } } return sessionId; }
protected InvocationRequest getInvocationRequest(Map metadata, Object obj) { InvocationRequest request = null; if(obj instanceof InvocationRequest) { request = (InvocationRequest) obj; if(request.getRequestPayload() == null) { request.setRequestPayload(metadata); } else { request.getRequestPayload().putAll(metadata); } } else { request = createNewInvocationRequest(metadata, obj); } return request; }
private void updateClientLease(InvocationRequest invocation) { if(invocation != null) { String clientSessionId = invocation.getSessionId(); if(clientSessionId != null) { if(trace) { log.trace("Getting lease for client session id: " + clientSessionId); } Lease clientLease = (Lease)clientLeases.get(clientSessionId); if(clientLease == null) { Lease newClientLease = new Lease(clientSessionId, leasePeriod, locator.getLocatorURI(), invocation.getRequestPayload(), connectionNotifier, clientLeases); clientLeases.put(clientSessionId, newClientLease); newClientLease.startLease(); if(trace) { log.trace("No lease established for client session id (" + clientSessionId + "), so starting a new one."); } } else { // including request payload from invocation as may contain updated list of clients. clientLease.updateLease(leasePeriod, invocation.getRequestPayload()); if(trace) { log.trace("Updated lease for client session id (" + clientSessionId + ")"); } } } } }
Map reqMap = invocation.getRequestPayload(); if (reqMap != null) Map reqMap = invocation.getRequestPayload(); if (reqMap != null)
Map metadata = ir.getRequestPayload(); if(metadata != null) Map metadata = ir.getRequestPayload(); if(metadata != null)
if(invocation.getRequestPayload() != null) metadata.putAll(invocation.getRequestPayload());
Map metadata = invocation.getRequestPayload(); if (metadata != null) if (invocation.getRequestPayload() != null) address = (InetAddress) invocation.getRequestPayload().get(Remoting.CLIENT_ADDRESS);
if (req.getRequestPayload() == null) req.setRequestPayload(new HashMap()); req.getRequestPayload().put(Remoting.CLIENT_ADDRESS, clientAddress);
Map requestPayload = ir.getRequestPayload(); listenerId = (String) requestPayload.get(Client.LISTENER_ID_KEY); listenerIdToClientInvokerMap.put(listenerId, this);
Map requestPayload = invocationRequest.getRequestPayload();
Map metadMap = invocation.getRequestPayload(); if(metadMap == null)
Map metadata = ir.getRequestPayload(); if (metadata == null)
Map<?, ?> payload = request.getRequestPayload(); DeploymentID dtID = (DeploymentID) payload.get("DeploymentTargetID"); if(dtID == null)
Map metadata = invocationReq.getRequestPayload(); if (metadata != null && metadata.get(Client.RAW) != null)
if (invocationRequest.getRequestPayload() == null) invocationRequest.setRequestPayload(new HashMap()); invocationRequest.getRequestPayload().put(Remoting.CLIENT_ADDRESS, remoteAddress);
Map requestPayloadMap = invocationRequest.getRequestPayload(); if (requestPayloadMap != null)