@Override public void run() throws Exception { if (mappings == null) { return; } ClientEngineImpl engine = getService(); for (Map.Entry<String, String> entry : mappings.entrySet()) { engine.addOwnershipMapping(entry.getKey(), entry.getValue()); } }
@Override public void shutdown(boolean terminate) { clear("Shutting down clientEngine"); }
@Override public void run() throws Exception { ClientEngineImpl engine = getService(); //Runs on {@link com.hazelcast.spi.ExecutionService.CLIENT_MANAGEMENT_EXECUTOR} // to work in sync with ClientReAuthOperation engine.getClientManagementExecutor().execute(new ClientDisconnectedTask()); }
private boolean shouldSendEvent() { if (!endpoint.isAlive()) { return false; } ClusterService clusterService = clientEngine.getClusterService(); boolean currentMemberIsMaster = clusterService.getMasterAddress().equals(clientEngine.getThisAddress()); if (parameters.localOnly && !currentMemberIsMaster) { //if client registered localOnly, only master is allowed to send request return false; } return true; } }
private boolean doRun() throws Exception { ILogger logger = getLogger(); ClientEngineImpl engine = getService(); String memberUuid = getCallerUuid(); if (!engine.trySetLastAuthenticationCorrelationId(clientUuid, authCorrelationId)) { String message = "Server already processed a newer authentication from client with UUID " + clientUuid + ". Not applying requested ownership change to " + memberUuid; logger.info(message); throw new StubAuthenticationException(message); } Set<ClientEndpoint> endpoints = engine.getEndpointManager().getEndpoints(clientUuid); for (ClientEndpoint endpoint : endpoints) { ClientPrincipal principal = new ClientPrincipal(clientUuid, memberUuid); endpoint.authenticated(principal); } String previousMemberUuid = engine.addOwnershipMapping(clientUuid, memberUuid); if (logger.isFineEnabled()) { logger.fine("Client authenticated " + clientUuid + ", owner " + memberUuid); } return previousMemberUuid == null; }
private ClientMessage prepareAuthenticatedClientMessage() { Connection connection = endpoint.getConnection(); ILogger logger = clientEngine.getLogger(getClass()); endpoint.authenticated(principal, credentials, isOwnerConnection(), clientVersion, clientMessage.getCorrelationId()); setConnectionType(); logger.info("Received auth from " + connection + ", successfully authenticated" + ", principal: " + principal + ", owner connection: " + isOwnerConnection() + ", client version: " + clientVersion); if (endpointManager.registerEndpoint(endpoint)) { clientEngine.bind(endpoint); } final Address thisAddress = clientEngine.getThisAddress(); byte status = AuthenticationStatus.AUTHENTICATED.getId(); return encodeAuth(status, thisAddress, principal.getUuid(), principal.getOwnerUuid(), serializationService.getVersion(), Collections.<Member>emptyList()); }
@Override public Collection<Member> getTargets() { return clientEngine.getClusterService().getMembers(); }
Node node = instance.node; final Collection<Client> clients = instance.node.clientEngine.getClients(); final Set<ClientEndPointDTO> serializableClientEndPoints = createHashSet(clients.size()); for (Client client : clients) { createWanSyncState(memberState); memberState.setClientStats(node.clientEngine.getClientStatistics());
private ClientMessage prepareAuthenticatedClientMessage() { Connection connection = endpoint.getConnection(); endpoint.authenticated(principal, credentials, isOwnerConnection(), clientVersion, clientMessage.getCorrelationId(), clientName, attributes); setConnectionType(); logger.info("Received auth from " + connection + ", successfully authenticated" + ", principal: " + principal + ", owner connection: " + isOwnerConnection() + ", client version: " + clientVersion); if (endpointManager.registerEndpoint(endpoint)) { clientEngine.bind(endpoint); } final Address thisAddress = clientEngine.getThisAddress(); byte status = AUTHENTICATED.getId(); return encodeAuth(status, thisAddress, principal.getUuid(), principal.getOwnerUuid(), serializationService.getVersion(), Collections.<Member>emptyList()); }
@Override public Collection<Client> getConnectedClients() { return clientEngine.getClients(); }
protected void sendClientMessage(Throwable throwable) { ClientExceptions exceptionFactory = clientEngine.getClientExceptions(); ClientMessage exception = exceptionFactory.createExceptionMessage(peelIfNeeded(throwable)); sendClientMessage(exception); }
public PhoneHomeParameterCreator createParameters(Node hazelcastNode) { ClusterServiceImpl clusterService = hazelcastNode.getClusterService(); int clusterSize = clusterService.getMembers().size(); Long clusterUpTime = clusterService.getClusterClock().getClusterUpTime(); RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); JetBuildInfo jetBuildInfo = hazelcastNode.getBuildInfo().getJetBuildInfo(); PhoneHomeParameterCreator parameterCreator = new PhoneHomeParameterCreator() .addParam("version", buildInfo.getVersion()) .addParam("m", hazelcastNode.getThisUuid()) .addParam("p", getDownloadId()) .addParam("c", clusterService.getClusterId()) .addParam("crsz", convertToLetter(clusterSize)) .addParam("cssz", convertToLetter(hazelcastNode.clientEngine.getClientEndpointCount())) .addParam("cuptm", Long.toString(clusterUpTime)) .addParam("nuptm", Long.toString(runtimeMxBean.getUptime())) .addParam("jvmn", runtimeMxBean.getVmName()) .addParam("jvmv", System.getProperty("java.version")) .addParam("jetv", jetBuildInfo == null ? "" : jetBuildInfo.getVersion()); addClientInfo(hazelcastNode, parameterCreator); addOSInfo(parameterCreator); boolean isManagementCenterConfigEnabled = hazelcastNode.config.getManagementCenterConfig().isEnabled(); if (isManagementCenterConfigEnabled) { addManCenterInfo(hazelcastNode, clusterSize, parameterCreator); } else { parameterCreator.addParam("mclicense", "MC_NOT_CONFIGURED"); parameterCreator.addParam("mcver", "MC_NOT_CONFIGURED"); } return parameterCreator; }
healthMonitor = new HealthMonitor(this); clientEngine = new ClientEngineImpl(this); connectionManager = nodeContext.createConnectionManager(this, serverSocketChannel); JoinConfig joinConfig = this.config.getNetworkConfig().getJoin();
private boolean doRun() throws Exception { ILogger logger = getLogger(); ClientEngineImpl engine = getService(); String memberUuid = getCallerUuid(); if (!engine.trySetLastAuthenticationCorrelationId(clientUuid, authCorrelationId)) { String message = "Server already processed a newer authentication from client with UUID " + clientUuid + ". Not applying requested ownership change to " + memberUuid; logger.info(message); throw new StubAuthenticationException(message); } Set<ClientEndpoint> endpoints = engine.getEndpointManager().getEndpoints(clientUuid); for (ClientEndpoint endpoint : endpoints) { ClientPrincipal principal = new ClientPrincipal(clientUuid, memberUuid); endpoint.authenticated(principal); } String previousMemberUuid = engine.addOwnershipMapping(clientUuid, memberUuid); if (logger.isFineEnabled()) { logger.fine("Client authenticated " + clientUuid + ", owner " + memberUuid); } return previousMemberUuid == null; }
@Override public Collection<Member> getTargets() { return clientEngine.getClusterService().getMembers(); }
private boolean shouldSendEvent() { if (!endpoint.isAlive()) { return false; } ClusterService clusterService = clientEngine.getClusterService(); boolean currentMemberIsMaster = clusterService.getMasterAddress().equals(clientEngine.getThisAddress()); if (parameters.localOnly && !currentMemberIsMaster) { //if client registered localOnly, only master is allowed to send request return false; } return true; } }
Node node = instance.node; final Collection<Client> clients = instance.node.clientEngine.getClients(); final Set<ClientEndPointDTO> serializableClientEndPoints = createHashSet(clients.size()); for (Client client : clients) { createWanSyncState(memberState); memberState.setClientStats(node.clientEngine.getClientStatistics());
@Override public Collection<Client> getConnectedClients() { return clientEngine.getClients(); }
protected void sendClientMessage(Throwable throwable) { ClientExceptions exceptionFactory = clientEngine.getClientExceptions(); ClientMessage exception = exceptionFactory.createExceptionMessage(peelIfNeeded(throwable)); sendClientMessage(exception); }
public PhoneHomeParameterCreator createParameters(Node hazelcastNode) { ClusterServiceImpl clusterService = hazelcastNode.getClusterService(); int clusterSize = clusterService.getMembers().size(); Long clusterUpTime = clusterService.getClusterClock().getClusterUpTime(); RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); JetBuildInfo jetBuildInfo = hazelcastNode.getBuildInfo().getJetBuildInfo(); PhoneHomeParameterCreator parameterCreator = new PhoneHomeParameterCreator() .addParam("version", buildInfo.getVersion()) .addParam("m", hazelcastNode.getThisUuid()) .addParam("p", getDownloadId()) .addParam("c", clusterService.getClusterId()) .addParam("crsz", convertToLetter(clusterSize)) .addParam("cssz", convertToLetter(hazelcastNode.clientEngine.getClientEndpointCount())) .addParam("cuptm", Long.toString(clusterUpTime)) .addParam("nuptm", Long.toString(runtimeMxBean.getUptime())) .addParam("jvmn", runtimeMxBean.getVmName()) .addParam("jvmv", System.getProperty("java.version")) .addParam("jetv", jetBuildInfo == null ? "" : jetBuildInfo.getVersion()); addClientInfo(hazelcastNode, parameterCreator); addOSInfo(parameterCreator); boolean isManagementCenterConfigEnabled = hazelcastNode.config.getManagementCenterConfig().isEnabled(); if (isManagementCenterConfigEnabled) { addManCenterInfo(hazelcastNode, clusterSize, parameterCreator); } else { parameterCreator.addParam("mclicense", "MC_NOT_CONFIGURED"); parameterCreator.addParam("mcver", "MC_NOT_CONFIGURED"); } return parameterCreator; }