public Object invoke(InvocationRequest invocation) throws Throwable { return invocation.getParameter(); }
@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 static boolean doCheckConnection(ClientInvoker clientInvoker) throws Throwable { boolean pingWorked = false; try { // Sending null client id as don't want to trigger lease on server side. This also means // that client connection validator will NOT impact client lease, so can not depend on it // to maintain client lease with the server. InvocationRequest ir = new InvocationRequest(null, Subsystem.SELF, "$PING$", null, null, null); if (trace) { log.trace("pinging, sending " + ir + " over " + clientInvoker); } clientInvoker.invoke(ir); if (trace) { log.trace("ConnectionValidator got successful ping using " + clientInvoker);} pingWorked = true; } catch (Throwable t) { log.debug("ConnectionValidator failed to ping via " + clientInvoker, t); } return pingWorked; }
/** * 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()); }
System.out.println("Invocation request from client is: " + invocation.getParameter()); if(NULL_RETURN_PARAM.equals(invocation.getParameter())) else if(invocation.getParameter() instanceof ComplexObject) else if(STRING_RETURN_PARAM.equals(invocation.getParameter())) Map responseMetadata = invocation.getReturnPayload(); responseMetadata.put(HTTPMetadataConstants.RESPONSE_CODE, new Integer(207)); responseMetadata.put(HTTPMetadataConstants.RESPONSE_CODE_MESSAGE, "Custom response code and message from remoting server");
if (req.getRequestPayload() == null) req.setRequestPayload(new HashMap()); req.getRequestPayload().put(Remoting.CLIENT_ADDRESS, clientAddress); resp = new InvocationResponse(req.getSessionId(), resp, isError, req.getReturnPayload());
Object param = invocation.getParameter(); Map metadMap = invocation.getRequestPayload(); if(metadMap == null)
public void sendObject(ObjectOutputStream oos, Object dataObject) throws IOException { if(dataObject instanceof InvocationRequest) { InvocationRequest ir = (InvocationRequest)dataObject; Object obj = ir.getParameter(); if(obj instanceof Serializable) { try { ir.setParameter(EncryptionUtil.sealObject((Serializable)obj)); } catch (Exception e) { e.printStackTrace(); } } } super.sendObject(oos, dataObject); } }
Object param = invocation.getParameter(); Object result = null; Map metadata = invocation.getRequestPayload(); if (metadata != null) responseMap.put(CLIENT_LEASE_PERIOD, new Long(leasePeriod)); InvocationResponse ir = new InvocationResponse(invocation.getSessionId(), new Boolean(leaseManagement), false, responseMap); if (invocation.getRequestPayload() != null) address = (InetAddress) invocation.getRequestPayload().get(Remoting.CLIENT_ADDRESS); String subsystem = invocation.getSubsystem(); String clientId = invocation.getSessionId();
NameBasedInvocation nbi = (NameBasedInvocation) invocation.getParameter(); String methodName = nbi.getMethodName(); Object args [] = nbi.getParameters(); String signature [] = nbi.getSignature(); String sessionId = invocation.getSessionId(); handleAddNotificationListener(invocation.getLocator(), sessionId, (ObjectName) args[0], (NotificationFilter) args[2], args[3]); return null; handleRemoveNotificationListener(invocation.getLocator(), sessionId, (ObjectName) args[0], args[2]); return null; storeNotifications(invocation.getSessionId(), invocation.getReturnPayload());
Object o = ir.getParameter(); if (o instanceof InternalInvocation) && ir.getLocator() != null) // getLocator() == null for pull callbacks Map requestPayload = ir.getRequestPayload(); listenerId = (String) requestPayload.get(Client.LISTENER_ID_KEY); listenerIdToClientInvokerMap.put(listenerId, this);
Map metadata = invocationReq.getRequestPayload(); if (metadata != null && metadata.get(Client.RAW) != null) payload = invocationReq.getParameter(); String sessionId = invocationReq.getSessionId(); returnValue = transport(sessionId, payload, metadata, marshaller, unmarshaller);
Object payload = request.getParameter(); if(payload != null && payload instanceof String && "$PING$".equalsIgnoreCase((String)payload) && request.getReturnPayload() != null) conn.setRequestProperty("sessionId", request.getSessionId()); conn.connect();
String subsystem = invocation.getSubsystem(); cmd = (Command) invocation.getParameter(); IncomingCommandTrace.start(cmd);
private void init(InvocationRequest invocation, ServerInvoker owner) throws Exception clientSessionId = invocation.getSessionId(); sessionId = invocation.getSessionId(); if(invocation.getRequestPayload() != null) metadata.putAll(invocation.getRequestPayload()); if(invocation.getLocator() != null) metadata.put(SERVER_INVOKER_CALLBACK_HANDLER, this); callBackClient = new Client(invocation.getLocator(), invocation.getSubsystem(), metadata); callBackClient.setSessionId(sessionId); createCallbackErrorHandler(owner, invocation.getSubsystem());
if (invocationRequest.getReturnPayload() == null) invocationRequest.setReturnPayload(response); Map requestPayloadMap = invocationRequest.getRequestPayload(); if (requestPayloadMap != null) invocationRequest.setRequestPayload(request); } else
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; }
response = new InvocationResponse(request.getSessionId(), result, false, request.getReturnPayload()); response = new InvocationResponse(request.getSessionId(), throwable, true, request.getReturnPayload()); new InvocationResponse(request.getSessionId(), e, true, request.getReturnPayload());
public String getSubsystem() { return invocation.getSubsystem(); }
invocation.setParameter(realParam);