in presto-pulsar/src/main/java/org/apache/pulsar/sql/presto/PulsarConnectorFactory.java [52:77]
public Connector create(String connectorId, Map<String, String> config, ConnectorContext context) {
requireNonNull(config, "requiredConfig is null");
if (log.isDebugEnabled()) {
log.debug("Creating Pulsar connector with configs: %s", config);
}
try {
// A plugin is not required to use Guice; it is just very convenient
Bootstrap app = new Bootstrap(
new JsonModule(),
new PulsarConnectorModule(connectorId, context.getTypeManager())
);
Injector injector = app
.strictConfig()
.doNotInitializeLogging()
.setRequiredConfigurationProperties(config)
.initialize();
PulsarConnector connector = injector.getInstance(PulsarConnector.class);
connector.initConnectorCache();
return connector;
} catch (Exception e) {
throwIfUnchecked(e);
throw new RuntimeException(e);
}
}