use of com.alibaba.maxgraph.servers.AbstractService in project GraphScope by alibaba.
the class IrServiceProducer method makeGraphService.
@Override
public AbstractService makeGraphService(SchemaFetcher schemaFetcher, ChannelManager channelManager) {
int executorCount = CommonConfig.STORE_NODE_COUNT.get(configs);
RpcChannelFetcher channelFetcher = new RpcChannelManagerFetcher(channelManager, executorCount, RoleType.GAIA_RPC);
com.alibaba.graphscope.common.config.Configs irConfigs = getConfigs();
IrMetaFetcher irMetaFetcher = new GrootMetaFetcher(schemaFetcher);
SnapshotUpdateCommitter updateCommitter = new SnapshotUpdateCommitter(channelManager);
int frontendId = CommonConfig.NODE_IDX.get(configs);
FrontendQueryManager queryManager = new FrontendQueryManager(irMetaFetcher, frontendId, updateCommitter);
return new AbstractService() {
private IrGremlinServer irGremlinServer = new IrGremlinServer(GremlinConfig.GREMLIN_PORT.get(configs));
@Override
public void start() {
try {
irGremlinServer.start(irConfigs, irMetaFetcher, channelFetcher, queryManager, TestGraphFactory.GROOT);
queryManager.start();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public void stop() {
try {
irGremlinServer.close();
queryManager.stop();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
};
}
Aggregations