本文整理汇总了Java中com.mysql.fabric.DumpResponse.getTtl方法的典型用法代码示例。如果您正苦于以下问题:Java DumpResponse.getTtl方法的具体用法?Java DumpResponse.getTtl怎么用?Java DumpResponse.getTtl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.mysql.fabric.DumpResponse
的用法示例。
在下文中一共展示了DumpResponse.getTtl方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getServerGroups
import com.mysql.fabric.DumpResponse; //导入方法依赖的package包/类
/**
* Facade for "dump.servers".
*/
public FabricStateResponse<Set<ServerGroup>> getServerGroups(String groupPattern) throws FabricCommunicationException {
int version = 0; // necessary but unused
DumpResponse response = callDumpMethod("dump.servers", new Object[] {version, groupPattern});
// collect all servers by group name
Map<String, Set<Server>> serversByGroupName = new HashMap<String, Set<Server>>();
for (List server : (List<List>) response.getReturnValue()) {
Server s = unmarshallServer(server);
if (serversByGroupName.get(s.getGroupName()) == null) {
serversByGroupName.put(s.getGroupName(), new HashSet<Server>());
}
serversByGroupName.get(s.getGroupName()).add(s);
}
// create group set
Set<ServerGroup> serverGroups = new HashSet<ServerGroup>();
for (Map.Entry<String, Set<Server>> entry : serversByGroupName.entrySet()) {
ServerGroup g = new ServerGroup(entry.getKey(), entry.getValue());
serverGroups.add(g);
}
return new FabricStateResponse<Set<ServerGroup>>(serverGroups, response.getTtl());
}
示例2: getShardTables
import com.mysql.fabric.DumpResponse; //导入方法依赖的package包/类
private FabricStateResponse<Set<ShardTable>> getShardTables(String shardMappingId) throws FabricCommunicationException {
int version = 0;
Object args[] = new Object[] {version, shardMappingId};
DumpResponse tablesResponse = callDumpMethod("dump.shard_tables", args);
Set<ShardTable> tables = new HashSet<ShardTable>();
// construct the tables
for (List rawTable : (List<List>) tablesResponse.getReturnValue()) {
String database = (String)rawTable.get(0);
String table = (String)rawTable.get(1);
String column = (String)rawTable.get(2);
String mappingId = (String)rawTable.get(3);
ShardTable st = new ShardTable(database, table, column);
tables.add(st);
}
return new FabricStateResponse<Set<ShardTable>>(tables, tablesResponse.getTtl());
}
示例3: getShardIndices
import com.mysql.fabric.DumpResponse; //导入方法依赖的package包/类
private FabricStateResponse<Set<ShardIndex>> getShardIndices(String shardMappingId) throws FabricCommunicationException {
int version = 0;
Object args[] = new Object[] {version, shardMappingId};
DumpResponse indexResponse = callDumpMethod("dump.shard_index", args);
Set<ShardIndex> indices = new HashSet<ShardIndex>();
// construct the index
for (List rawIndexEntry : (List<List>) indexResponse.getReturnValue()) {
String bound = (String)rawIndexEntry.get(0);
String mappingId = (String)rawIndexEntry.get(1);
String shardId = (String)rawIndexEntry.get(2);
String groupName = (String)rawIndexEntry.get(3);
ShardIndex si = new ShardIndex(bound, Integer.valueOf(shardId), groupName);
indices.add(si);
}
return new FabricStateResponse<Set<ShardIndex>>(indices, indexResponse.getTtl());
}
示例4: getShardMappings
import com.mysql.fabric.DumpResponse; //导入方法依赖的package包/类
/**
* Retrieve a set of complete shard mappings. The returned mappings include all information
* available about the mapping.
* @param shardMappingIdPattern the shard mapping id to retrieve
*/
public FabricStateResponse<Set<ShardMapping>> getShardMappings(String shardMappingIdPattern) throws FabricCommunicationException {
int version = 0;
Object args[] = new Object[] {version, shardMappingIdPattern}; // common to all calls
DumpResponse mapsResponse = callDumpMethod("dump.shard_maps", args);
// use the lowest ttl of all the calls
long minExpireTimeMillis = System.currentTimeMillis() + (1000 * mapsResponse.getTtl());
// construct the maps
Set<ShardMapping> mappings = new HashSet<ShardMapping>();
for (List rawMapping : (List<List>) mapsResponse.getReturnValue()) {
String mappingId = (String)rawMapping.get(0);
ShardingType shardingType = ShardingType.valueOf((String)rawMapping.get(1));
String globalGroupName = (String)rawMapping.get(2);
FabricStateResponse<Set<ShardTable>> tables = getShardTables(mappingId);
FabricStateResponse<Set<ShardIndex>> indices = getShardIndices(mappingId);
if (tables.getExpireTimeMillis() < minExpireTimeMillis)
minExpireTimeMillis = tables.getExpireTimeMillis();
if (indices.getExpireTimeMillis() < minExpireTimeMillis)
minExpireTimeMillis = indices.getExpireTimeMillis();
ShardMapping m = new ShardMappingFactory().createShardMapping(mappingId, shardingType, globalGroupName,
tables.getData(), indices.getData());
mappings.add(m);
}
return new FabricStateResponse<Set<ShardMapping>>(mappings, minExpireTimeMillis);
}