本文整理了Java中io.airlift.bootstrap.Bootstrap
类的一些代码示例,展示了Bootstrap
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Bootstrap
类的具体详情如下:
包路径:io.airlift.bootstrap.Bootstrap
类名称:Bootstrap
[英]Entry point for an application built using the platform codebase.
This class will:
代码示例来源:origin: prestodb/presto
@Test
public void testExcludesCurrentNode()
throws Exception
Bootstrap app = new Bootstrap(
new TestingNodeModule(),
new TestingJmxModule(),
new TestingDiscoveryModule(),
new TestingHttpServerModule(),
new TraceTokenModule(),
new JsonModule(),
new JaxrsModule(true),
new FailureDetectorModule(),
.strictConfig()
.doNotInitializeLogging()
.quiet()
.initialize();
ServiceSelector selector = injector.getInstance(Key.get(ServiceSelector.class, serviceType("presto")));
assertEquals(selector.selectAllServices().size(), 1);
HeartbeatFailureDetector detector = injector.getInstance(HeartbeatFailureDetector.class);
detector.updateMonitoredServices();
代码示例来源:origin: prestodb/presto
@Override
public SessionPropertyConfigurationManager create(Map<String, String> config, SessionPropertyConfigurationManagerContext context)
{
try {
Bootstrap app = new Bootstrap(
new JsonModule(),
new FileSessionPropertyManagerModule());
Injector injector = app
.strictConfig()
.doNotInitializeLogging()
.setRequiredConfigurationProperties(config)
.initialize();
return injector.getInstance(FileSessionPropertyManager.class);
}
catch (Exception e) {
throwIfUnchecked(e);
throw new RuntimeException(e);
}
}
}
代码示例来源:origin: prestodb/presto
public static void start(List<Module> extraModules)
throws Exception
{
Bootstrap app = new Bootstrap(
ImmutableList.<Module>builder()
.add(new DriftNettyServerModule())
.add(new ThriftTpchServerModule())
.addAll(requireNonNull(extraModules, "extraModules is null"))
.build());
app.strictConfig().initialize();
}
代码示例来源:origin: prestodb/presto
public static void start(Module... extraModules)
{
Bootstrap app = new Bootstrap(ImmutableList.<Module>builder()
.add(new NodeModule())
.add(new HttpServerModule())
.add(new JsonModule())
.add(new JaxrsModule(true))
.add(new MBeanModule())
.add(new JmxModule())
.add(new LogJmxModule())
.add(new TraceTokenModule())
.add(new EventModule())
.add(new ProxyModule())
.add(extraModules)
.build());
Logger log = Logger.get(PrestoProxy.class);
try {
app.strictConfig().initialize();
log.info("======== SERVER STARTED ========");
}
catch (Throwable t) {
log.error(t);
System.exit(1);
}
}
代码示例来源:origin: io.airlift/http-client
@Test
public void testWithoutFilters()
throws Exception
{
Injector injector = new Bootstrap(
binder -> httpClientBinder(binder).bindHttpClient("foo", FooClient.class))
.quiet()
.strictConfig()
.initialize();
assertNotNull(injector.getInstance(Key.get(HttpClient.class, FooClient.class)));
}
代码示例来源:origin: io.airlift/rack-experimental
@Test
public void testAnnouncement()
throws Exception
Bootstrap app = new Bootstrap(
new TestingHttpServerModule(),
new RackModule(),
new TestingNodeModule(),
new TestingDiscoveryModule());
.strictConfig()
.doNotInitializeLogging()
.setRequiredConfigurationProperty("rackserver.rack-config-path", Resources.getResource("test/raw/config.ru").getFile())
.setRequiredConfigurationProperty("rackserver.announcement", "racktest")
.initialize();
lifeCycleManager = injector.getInstance(LifeCycleManager.class);
injector.getInstance(Announcer.class).start();
List<ServiceDescriptor> descriptors = lookupClient.getServices("racktest").get().getServiceDescriptors();
assertEquals(descriptors.size(), 1);
ServiceDescriptor descriptor = Iterables.getOnlyElement(descriptors);
assertEquals(descriptor.getProperties(), announcement.getProperties());
代码示例来源:origin: io.airlift/bootstrap
@Test
public void testRequiresExplicitBindings()
throws Exception
{
Bootstrap bootstrap = new Bootstrap();
try {
bootstrap.initialize().getInstance(Instance.class);
fail("should require explicit bindings");
}
catch (ConfigurationException e) {
assertContains(e.getErrorMessages().iterator().next().getMessage(), "Explicit bindings are required");
}
}
代码示例来源:origin: airlift/airlift
@Test
public void testClientShutdown()
throws Exception
{
Injector injector = new Bootstrap(
binder -> {
httpClientBinder(binder).bindHttpClient("foo", FooClient.class);
httpClientBinder(binder).bindHttpClient("bar", BarClient.class);
})
.quiet()
.strictConfig()
.initialize();
HttpClient fooClient = injector.getInstance(Key.get(HttpClient.class, FooClient.class));
HttpClient barClient = injector.getInstance(Key.get(HttpClient.class, BarClient.class));
assertFalse(fooClient.isClosed());
assertFalse(barClient.isClosed());
injector.getInstance(LifeCycleManager.class).stop();
assertTrue(fooClient.isClosed());
assertTrue(barClient.isClosed());
}
代码示例来源:origin: io.airlift.drift/drift-transport-netty
@Test
public void test()
throws Exception
{
Annotation clientAnnotation = named("test");
Bootstrap bootstrap = new Bootstrap(
new DriftNettyClientModule(),
binder -> configBinder(binder).bindConfig(DriftClientConfig.class, clientAnnotation, "prefix"));
Injector injector = bootstrap
.doNotInitializeLogging()
.strictConfig()
.initialize();
assertNotNull(injector.getInstance(Key.get(new TypeLiteral<MethodInvokerFactory<Annotation>>() {})));
assertNotNull(injector.getInstance(Key.get(DriftClientConfig.class, clientAnnotation)));
assertNotNull(injector.getInstance(Key.get(DriftNettyClientConfig.class, clientAnnotation)));
}
}
代码示例来源:origin: io.airlift.discovery/discovery-server
@Test
public void testDynamicAnnouncement()
throws Exception
.build();
Bootstrap bootstrap = new Bootstrap(
new TestingNodeModule("testing", "red"),
new JsonModule(),
new DiscoveryModule());
.strictConfig()
.doNotInitializeLogging()
.setRequiredConfigurationProperties(announcerProperties)
.initialize();
.build();
DiscoveryAnnouncementClient client = announcerInjector.getInstance(DiscoveryAnnouncementClient.class);
client.announce(ImmutableSet.of(announcement)).get();
NodeInfo announcerNodeInfo = announcerInjector.getInstance(NodeInfo.class);
assertEquals(services.size(), 1);
代码示例来源:origin: com.facebook.swift/swift-service
@Test
public void testGuiceInjection()
throws Exception
{
Bootstrap bootstrap = new Bootstrap(new Module() {
@Override
public void configure(Binder binder)
{
configBinder(binder).bindConfig(ThriftClientConfig.class);
}
});
Map<String, String> properties = ImmutableMap.of();
Injector injector = bootstrap.doNotInitializeLogging()
.strictConfig()
.setRequiredConfigurationProperties(properties)
.initialize();
ThriftClientConfig clientConfig = injector.getInstance(ThriftClientConfig.class);
Assert.assertNotNull(clientConfig);
}
}
代码示例来源:origin: prestodb/presto
.addAll(getAdditionalModules());
Bootstrap app = new Bootstrap(builder.build());
Injector injector;
try {
injector = app.strictConfig().initialize();
VerifierConfig config = injector.getInstance(VerifierConfig.class);
injector.injectMembers(this);
Set<String> supportedEventClients = injector.getInstance(Key.get(new TypeLiteral<Set<String>>() {}, SupportedEventClients.class));
for (String clientType : config.getEventClients()) {
checkArgument(supportedEventClients.contains(clientType), "Unsupported event client: %s", clientType);
Set<EventClient> eventClients = injector.getInstance(Key.get(new TypeLiteral<Set<EventClient>>() {}));
代码示例来源:origin: rakam-io/rakam
public static void main(String[] args)
throws Throwable {
if (args.length > 0) {
System.setProperty("config", args[0]);
}
ProxyBootstrap app = new ProxyBootstrap(getModules());
app.requireExplicitBindings(true);
Injector injector = app.strictConfig().initialize();
Set<InjectionHook> hooks = injector.getInstance(
Key.get(new TypeLiteral<Set<InjectionHook>>() {
}));
hooks.forEach(InjectionHook::call);
HttpServerConfig httpConfig = injector.getInstance(HttpServerConfig.class);
if (!httpConfig.getDisabled()) {
WebServiceModule webServiceModule = injector.getInstance(WebServiceModule.class);
injector.createChildInjector(webServiceModule);
}
LOGGER.info("======== SERVER STARTED ========");
}
代码示例来源:origin: airlift/airlift
@Test
public void testWithoutFilters()
throws Exception
{
Injector injector = new Bootstrap(
binder -> httpClientBinder(binder).bindHttpClient("foo", FooClient.class))
.quiet()
.strictConfig()
.initialize();
assertNotNull(injector.getInstance(Key.get(HttpClient.class, FooClient.class)));
}
代码示例来源:origin: io.airlift/http-server
@Test
public void testGuiceInjectionWithoutFilters()
throws Exception
{
DummyServlet servlet = new DummyServlet();
Bootstrap app = new Bootstrap(
new TestingNodeModule(),
new TestingHttpServerModule(),
binder -> {
binder.bind(Servlet.class).annotatedWith(TheServlet.class).toInstance(servlet);
binder.bind(new TypeLiteral<Map<String, String>>() {}).annotatedWith(TheServlet.class).toInstance(ImmutableMap.of());
});
Injector injector = app
.strictConfig()
.doNotInitializeLogging()
.initialize();
LifeCycleManager lifeCycleManager = injector.getInstance(LifeCycleManager.class);
TestingHttpServer server = injector.getInstance(TestingHttpServer.class);
try (HttpClient client = new JettyHttpClient(new HttpClientConfig().setConnectTimeout(new Duration(1, SECONDS)))) {
StatusResponse response = client.execute(prepareGet().setUri(server.getBaseUrl()).build(), createStatusResponseHandler());
assertEquals(response.getStatusCode(), HttpServletResponse.SC_OK);
assertEquals(servlet.getCallCount(), 1);
}
finally {
lifeCycleManager.stop();
}
}
代码示例来源:origin: airlift/airlift
@Test
public void testRequiresExplicitBindings()
throws Exception
{
Bootstrap bootstrap = new Bootstrap();
try {
bootstrap.initialize().getInstance(Instance.class);
fail("should require explicit bindings");
}
catch (ConfigurationException e) {
assertContains(e.getErrorMessages().iterator().next().getMessage(), "Explicit bindings are required");
}
}
代码示例来源:origin: io.airlift/http-client
@Test
public void testClientShutdown()
throws Exception
{
Injector injector = new Bootstrap(
binder -> {
httpClientBinder(binder).bindHttpClient("foo", FooClient.class);
httpClientBinder(binder).bindHttpClient("bar", BarClient.class);
})
.quiet()
.strictConfig()
.initialize();
HttpClient fooClient = injector.getInstance(Key.get(HttpClient.class, FooClient.class));
HttpClient barClient = injector.getInstance(Key.get(HttpClient.class, BarClient.class));
assertFalse(fooClient.isClosed());
assertFalse(barClient.isClosed());
injector.getInstance(LifeCycleManager.class).stop();
assertTrue(fooClient.isClosed());
assertTrue(barClient.isClosed());
}
代码示例来源:origin: airlift/drift
@Test
public void test()
throws Exception
{
Annotation clientAnnotation = named("test");
Bootstrap bootstrap = new Bootstrap(
new DriftNettyClientModule(),
binder -> configBinder(binder).bindConfig(DriftClientConfig.class, clientAnnotation, "prefix"));
Injector injector = bootstrap
.doNotInitializeLogging()
.strictConfig()
.initialize();
assertNotNull(injector.getInstance(Key.get(new TypeLiteral<MethodInvokerFactory<Annotation>>() {})));
assertNotNull(injector.getInstance(Key.get(DriftClientConfig.class, clientAnnotation)));
assertNotNull(injector.getInstance(Key.get(DriftNettyClientConfig.class, clientAnnotation)));
}
}
代码示例来源:origin: com.facebook.swift/swift-service
@Test
public void testGuiceInjection()
throws Exception
{
Bootstrap bootstrap = new Bootstrap(new AbstractModule() {
@Override
protected void configure()
{
configBinder(binder()).bindConfig(ThriftServerConfig.class);
}
});
Map<String, String> properties = ImmutableMap.of();
Injector injector =
bootstrap.doNotInitializeLogging()
.strictConfig()
.setRequiredConfigurationProperties(properties)
.initialize();
ThriftServerConfig config = injector.getInstance(ThriftServerConfig.class);
assertNotNull(config);
}
代码示例来源:origin: prestodb/presto
new DiscoveryModule(),
new HttpServerModule(),
new JsonModule(),
new JaxrsModule(true),
new MBeanModule(),
Bootstrap app = new Bootstrap(modules.build());
Injector injector = app.strictConfig().initialize();
injector.getInstance(PluginManager.class).loadPlugins();
injector.getInstance(StaticCatalogStore.class).loadCatalogs();
injector.getInstance(Announcer.class),
injector.getInstance(CatalogManager.class),
injector.getInstance(ServerConfig.class),
内容来源于网络,如有侵权,请联系作者删除!