private void addNotificationListener(Method m, Object args[], String sig[], Map payload) throws Throwable { String methodName = m.getName(); Object key = ClientListener.register(serverId, (ObjectName) args[0], args[1], (NotificationFilter) args[2], args[3]); listeners.add(key); Object a[] = new Object[]{args[0], null, args[2], key}; // make sure we pass our local id as session id client.setSessionId(serverId); client.invoke(new NameBasedInvocation(methodName, a, sig), payload); }
public void connectionLost(String locatorurl, String clientSessionId, Map requestPayload) { try { log.debug("Server connection lost to client (session id = " + clientSessionId); Client client = new Client(new InvokerLocator(locatorurl), requestPayload); client.setSessionId(clientSessionId); ConnectionListener[] list = (ConnectionListener[])listeners.toArray(new ConnectionListener[listeners.size()]); for(int x = 0; x < list.length; x++) { list[x].handleConnectionException(null, client); } } catch(Exception e) { log.error("Error notifying connection listeners of lost client connection.", e); } }
private void removeNotificationListener(Method m, Object args[], String sig[], Map payload) throws Throwable { String methodName = m.getName(); Object id = ClientListener.makeId(serverId, (ObjectName) args[0], args[1]); listeners.remove(id); ClientListener cl = ClientListener.remove(id); Object a[] = new Object[]{args[0], null, id}; if(cl != null) { // make sure we pass our local id as session id client.setSessionId(serverId); client.invoke(new NameBasedInvocation(methodName, a, new String[]{ObjectName.class.getName(), sig[1], Integer.class.getName()}), payload); } }
public void connectionTerminated(String locatorURL, String clientSessionId, Map requestPayload) { try { if(log.isTraceEnabled()) { log.trace("Client disconnected (session id = " + clientSessionId); } Client client = new Client(new InvokerLocator(locatorURL), requestPayload); client.setSessionId(clientSessionId); ClientDisconnectedException ex = new ClientDisconnectedException(); ConnectionListener[] list = (ConnectionListener[])listeners.toArray(new ConnectionListener[listeners.size()]); for(int x = 0; x < list.length; x++) { list[x].handleConnectionException(ex, client); } } catch(Exception e) { log.error("Error notifying connection listeners of disconnected client connection.", e); } } }
callBackClient.setSessionId(sessionId); createCallbackErrorHandler(owner, invocation.getSubsystem());
client.setSessionId(serverId); Boolean continuePolling = (Boolean) client.invoke(new NameBasedInvocation("$GetNotifications$", new Object[]{},
client.setSessionId(serverId); value = client.invoke(new NameBasedInvocation(methodName, args, sig), payload);
client.setSessionId(localServerId); client.invoke(new NameBasedInvocation("$NOTIFICATIONS$", new Object[]{nq},
client.setSessionId(getSessionId()); client.connect(); InternalInvocation ii =
client.setSessionId(getSessionId()); client.connect();