use of com.linkedin.r2.transport.common.bridge.server.TransportDispatcher in project rest.li by linkedin.
the class RestLiExampleBasicServer method createServer.
public static HttpServer createServer() {
// create Rest.li resource class information and initialize documentation generator
// only the resource classes in the specified package names are visible for public
final RestLiConfig config = new RestLiConfig();
config.addResourcePackageNames("com.linkedin.restli.example.impl");
config.setServerNodeUri(URI.create(getServerUrl()));
config.setDocumentationRequestHandler(new DefaultDocumentationRequestHandler());
// Create an instance of the Example Filter and add it to the config.
RestLiExampleFilter filter = new RestLiExampleFilter();
config.addFilter(filter);
// demonstrate dynamic dependency injection
final PhotoDatabase photoDb = new PhotoDatabaseImpl(10);
final SimpleBeanProvider beanProvider = new SimpleBeanProvider();
beanProvider.add("photoDb", photoDb);
beanProvider.add("albumDb", new AlbumDatabaseImpl(10));
beanProvider.add("albumEntryDb", new AlbumEntryDatabaseImpl(photoDb, 3));
// using InjectMockResourceFactory to keep examples spring-free
final ResourceFactory factory = new InjectMockResourceFactory(beanProvider);
final TransportDispatcher dispatcher = new DelegatingTransportDispatcher(new RestLiServer(config, factory));
return new HttpServerFactory(FilterChains.empty()).createServer(SERVER_PORT, dispatcher);
}
Aggregations