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());
}