NodeManager nodeManager = context.getNodeManager(); return new Connector()
@Override public Connector create(String catalogName, Map<String, String> config, ConnectorContext context) { try { Bootstrap app = new Bootstrap( binder -> { configBinder(binder).bindConfig(JmxConnectorConfig.class); binder.bind(MBeanServer.class).toInstance(new RebindSafeMBeanServer(mbeanServer)); binder.bind(NodeManager.class).toInstance(context.getNodeManager()); binder.bind(JmxConnector.class).in(Scopes.SINGLETON); binder.bind(JmxHistoricalData.class).in(Scopes.SINGLETON); binder.bind(JmxMetadata.class).in(Scopes.SINGLETON); binder.bind(JmxSplitManager.class).in(Scopes.SINGLETON); binder.bind(JmxPeriodicSampler.class).in(Scopes.SINGLETON); binder.bind(JmxRecordSetProvider.class).in(Scopes.SINGLETON); }); Injector injector = app.strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(config) .initialize(); return injector.getInstance(JmxConnector.class); } catch (Exception e) { throwIfUnchecked(e); throw new RuntimeException(e); } } }
@Override public ConnectorSplitManager getSplitManager() { return new TpchSplitManager(context.getNodeManager(), 1); }
NodeManager nodeManager = context.getNodeManager();
@Override public Connector create(String catalogName, Map<String, String> config, ConnectorContext context) { requireNonNull(config, "config is null"); try { Bootstrap app = new Bootstrap( binder -> binder.bind(NodeManager.class).toInstance(context.getNodeManager()), new LocalFileModule(catalogName)); Injector injector = app .strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(config) .initialize(); return injector.getInstance(LocalFileConnector.class); } catch (Exception e) { throwIfUnchecked(e); throw new RuntimeException(e); } } }
binder.bind(KafkaConnectorId.class).toInstance(new KafkaConnectorId(catalogName)); binder.bind(TypeManager.class).toInstance(context.getTypeManager()); binder.bind(NodeManager.class).toInstance(context.getNodeManager());
binder.bind(RedisConnectorId.class).toInstance(new RedisConnectorId(catalogName)); binder.bind(TypeManager.class).toInstance(context.getTypeManager()); binder.bind(NodeManager.class).toInstance(context.getNodeManager());
NodeManager nodeManager = context.getNodeManager();
@Override public Connector create(String catalogName, Map<String, String> config, ConnectorContext context) { requireNonNull(catalogName, "catalogName is null"); requireNonNull(config, "config is null"); try { Bootstrap app = new Bootstrap( new JsonModule(), new ElasticsearchConnectorModule(), binder -> { binder.bind(TypeManager.class).toInstance(context.getTypeManager()); binder.bind(NodeManager.class).toInstance(context.getNodeManager()); binder.bind(ElasticsearchTableDescriptionProvider.class).in(Scopes.SINGLETON); }); Injector injector = app.strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(config) .initialize(); return injector.getInstance(ElasticsearchConnector.class); } catch (Exception e) { throw new RuntimeException(e); } } }
@Override public Connector create(String catalogName, Map<String, String> requiredConfig, ConnectorContext context) { requireNonNull(requiredConfig, "requiredConfig is null"); try { // A plugin is not required to use Guice; it is just very convenient Bootstrap app = new Bootstrap( new JsonModule(), new MemoryModule(catalogName, context.getTypeManager(), context.getNodeManager())); Injector injector = app .strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(requiredConfig) .initialize(); return injector.getInstance(MemoryConnector.class); } catch (Exception e) { throwIfUnchecked(e); throw new RuntimeException(e); } } }
MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer(); binder.bind(MBeanServer.class).toInstance(new RebindSafeMBeanServer(platformMBeanServer)); binder.bind(NodeVersion.class).toInstance(new NodeVersion(context.getNodeManager().getCurrentNode().getVersion())); binder.bind(NodeManager.class).toInstance(context.getNodeManager()); binder.bind(TypeManager.class).toInstance(context.getTypeManager()); binder.bind(PageIndexerFactory.class).toInstance(context.getPageIndexerFactory());
@Override public Connector create(String catalogName, Map<String, String> requiredConfig, ConnectorContext context) { ListeningScheduledExecutorService executorService = listeningDecorator(newSingleThreadScheduledExecutor(daemonThreadsNamed("blackhole"))); return new BlackHoleConnector( new BlackHoleMetadata(), new BlackHoleSplitManager(), new BlackHolePageSourceProvider(executorService), new BlackHolePageSinkProvider(executorService), new BlackHoleNodePartitioningProvider(context.getNodeManager()), context.getTypeManager(), executorService); } }
atopFactoryClass, context.getTypeManager(), context.getNodeManager(), context.getNodeManager().getEnvironment(), catalogName), installModuleIf(
@Override public Connector create(String catalogName, Map<String, String> config, ConnectorContext context) { requireNonNull(catalogName, "catalogName is null"); requireNonNull(config, "config is null"); try { Bootstrap app = new Bootstrap( new JsonModule(), new ElasticsearchConnectorModule(), binder -> { binder.bind(TypeManager.class).toInstance(context.getTypeManager()); binder.bind(NodeManager.class).toInstance(context.getNodeManager()); binder.bind(ElasticsearchTableDescriptionProvider.class).toInstance(tableDescriptionSupplier); }); Injector injector = app.strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(config) .initialize(); return injector.getInstance(ElasticsearchConnector.class); } catch (Exception e) { throw new RuntimeException(e); } } }
NodeManager nodeManager = context.getNodeManager(); return new Connector()
@Override public Connector create(String connectorId, Map<String, String> config, ConnectorContext context) { requireNonNull(connectorId, "connectorId is null"); requireNonNull(config, "requiredConfig is null"); requireNonNull(context, "context is null"); try { Bootstrap app = new Bootstrap( new HbaseModule(), binder -> { binder.bind(HbaseConnectorId.class).toInstance(new HbaseConnectorId(connectorId)); binder.bind(TypeManager.class).toInstance(context.getTypeManager()); binder.bind(NodeManager.class).toInstance(context.getNodeManager()); }); Injector injector = app .strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(config) .initialize(); return injector.getInstance(HbaseConnector.class); } catch (Exception e) { throw Throwables.propagate(e); } } }
NodeManager nodeManager = context.getNodeManager();
@Override public Connector create(String connectorId, Map<String, String> config, ConnectorContext context) { requireNonNull(connectorId, "connectorId is null"); requireNonNull(config, "config is null"); try { Bootstrap app = new Bootstrap( // new JsonModule(), new EthereumConnectorModule(), binder -> { binder.bind(EthereumConnectorId.class).toInstance(new EthereumConnectorId(connectorId)); binder.bind(TypeManager.class).toInstance(context.getTypeManager()); binder.bind(NodeManager.class).toInstance(context.getNodeManager()); } ); Injector injector = app.strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(config) .initialize(); return injector.getInstance(EthereumConnector.class); } catch (Exception e) { throw Throwables.propagate(e); } } }
@Override public Connector create(String connectorId, Map<String, String> config, ConnectorContext context) { requireNonNull(connectorId, "connectorId is null"); requireNonNull(config, "requiredConfig is null"); requireNonNull(context, "context is null"); try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(classLoader)) { final Bootstrap app = new Bootstrap( new ElasticsearchModule(), module, binder -> { binder.bind(ElasticsearchConnectorId.class).toInstance(new ElasticsearchConnectorId(connectorId)); binder.bind(TypeManager.class).toInstance(context.getTypeManager()); binder.bind(NodeManager.class).toInstance(context.getNodeManager()); }); Injector injector = app .strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(config) .initialize(); return injector.getInstance(ElasticsearchConnector.class); } catch (Exception e) { throwIfUnchecked(e); throw new RuntimeException(e); } } }
@Override public Connector create(String catalogName, Map<String, String> requiredConfig, ConnectorContext context) { requireNonNull(requiredConfig, "requiredConfig is null"); try { // A plugin is not required to use Guice; it is just very convenient Bootstrap app = new Bootstrap( new JsonModule(), new MemoryModule(catalogName, context.getTypeManager(), context.getNodeManager())); Injector injector = app .strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(requiredConfig) .initialize(); return injector.getInstance(MemoryConnector.class); } catch (Exception e) { throwIfUnchecked(e); throw new RuntimeException(e); } } }