List of usage examples for org.apache.commons.collections.map MultiKeyMap get
public Object get(Object key1, Object key2, Object key3, Object key4)
From source file:com.qq.tars.service.expand.ExpandServerService.java
@Transactional(rollbackFor = { Exception.class }) public List<ServerConf> expand(ExpandServer expandServer) { String application = expandServer.getApplication(); String serverName = expandServer.getServerName(); ServerConf sourceServer = serverMapper.loadServerConfByName(application, serverName, expandServer.getNodeName()); MultiKeyMap sourceAdapters = getSoruceAdapterMap(application, serverName, expandServer.getNodeName()); Map<Long, ServerConf> serverAdded = new HashMap<>(); for (ExpandPreviewServer preserver : expandServer.getExpandPreviewServers()) { ServerConf targetServer = serverMapper.loadServerConfByName(application, serverName, preserver.getNodeName()); if (null == targetServer) { ServerConf server = new ServerConf(); server.setApplication(application); server.setServerName(serverName); server.setNodeName(preserver.getNodeName()); String set = preserver.getSet(); boolean enableSet = StringUtils.isNotBlank(set); server.setEnableSet(enableSet ? "Y" : "N"); if (enableSet) { SetTriple setTriple = SetTriple.parseSet(set); server.setSetName(setTriple.getSetName()); server.setSetArea(setTriple.getSetArea()); server.setSetGroup(setTriple.getSetGroup()); }/*from w w w . ja va 2s . co m*/ // ? server.setServerType(sourceServer.getServerType()); server.setTemplateName(sourceServer.getTemplateName()); server.setBakFlag(sourceServer.getBakFlag()); server.setBasePath(sourceServer.getBasePath()); server.setExePath(sourceServer.getExePath()); server.setStartScriptPath(sourceServer.getStartScriptPath()); // ??? if (expandServer.isCopyNodeConfig()) { server.setProfile(sourceServer.getProfile()); List<ConfigFile> configs = configMapper.getNodeConfigFile(sourceServer.getApplication(), sourceServer.getServerName(), sourceServer.getSetName(), sourceServer.getSetArea(), sourceServer.getSetGroup()); configs.stream().filter(config -> sourceServer.getNodeName().equals(config.getHost())) .forEach(config -> { ConfigFile copy = new ConfigFile(); BeanUtils.copyProperties(config, copy); copy.setId(null); copy.setPosttime(DateTime.now()); copy.setHost(server.getNodeName()); configMapper.insertConfigFile(copy); }); } serverMapper.insertServerConf(server); serverAdded.put(server.getId(), server); } AdapterConf targetAdapter = adapterMapper.loadAdapterConfByObj(application, serverName, preserver.getNodeName(), preserver.getObjName()); if (null == targetAdapter) { AdapterConf sourceAdapter = (AdapterConf) sourceAdapters.get(application, serverName, expandServer.getNodeName(), preserver.getObjName()); AdapterConf adapter = new AdapterConf(); adapter.setApplication(application); adapter.setServerName(serverName); adapter.setNodeName(preserver.getNodeName()); // ? adapter.setServant(sourceAdapter.getServant()); adapter.setAdapterName(sourceAdapter.getAdapterName()); adapter.setThreadNum(sourceAdapter.getThreadNum()); adapter.setMaxConnections(sourceAdapter.getMaxConnections()); adapter.setQueuecap(sourceAdapter.getQueuecap()); adapter.setQueuetimeout(sourceAdapter.getQueuetimeout()); adapter.setEndpoint(String.format("tcp -h %s -t %s -p %s", preserver.getBindIp(), sourceAdapter.getQueuetimeout(), preserver.getPort())); adapterMapper.insertAdapterConf(adapter); } } return new LinkedList<>(serverAdded.values()); }