use of org.apache.gobblin.metastore.MetaStoreModule in project incubator-gobblin by apache.
the class TestMetastoreDatabaseServer method getConnector.
private Optional<Connection> getConnector(MySqlJdbcUrl jdbcUrl) throws SQLException {
Properties properties = new Properties();
properties.setProperty(ConfigurationKeys.JOB_HISTORY_STORE_URL_KEY, jdbcUrl.toString());
Injector injector = Guice.createInjector(new MetaStoreModule(properties));
DataSource dataSource = injector.getInstance(DataSource.class);
return Optional.of(dataSource.getConnection());
}
use of org.apache.gobblin.metastore.MetaStoreModule in project incubator-gobblin by apache.
the class JobExecutionInfoServerTest method setUp.
@BeforeClass
public void setUp() throws Exception {
testMetastoreDatabase = TestMetastoreDatabaseFactory.get();
Properties properties = new Properties();
properties.setProperty(ConfigurationKeys.JOB_HISTORY_STORE_URL_KEY, testMetastoreDatabase.getJdbcUrl());
int randomPort = new PortUtils.ServerSocketPortLocator().random();
properties.setProperty(ConfigurationKeys.REST_SERVER_PORT_KEY, Integer.toString(randomPort));
Injector injector = Guice.createInjector(new MetaStoreModule(properties));
this.jobHistoryStore = injector.getInstance(JobHistoryStore.class);
this.client = new JobExecutionInfoClient(String.format("http://%s:%s/", "localhost", randomPort));
this.server = new JobExecutionInfoServer(properties);
this.server.startUp();
this.expected1 = createJobExecutionInfo(1);
this.expected2 = createJobExecutionInfo(2);
this.jobHistoryStore.put(this.expected1);
this.jobHistoryStore.put(this.expected2);
}
use of org.apache.gobblin.metastore.MetaStoreModule in project incubator-gobblin by apache.
the class JobExecutionInfoServer method startUp.
@Override
protected void startUp() throws Exception {
// Server configuration
RestLiConfig config = new RestLiConfig();
config.addResourcePackageNames(JobExecutionInfoResource.class.getPackage().getName());
config.setServerNodeUri(serverUri);
config.setDocumentationRequestHandler(new DefaultDocumentationRequestHandler());
// Handle dependency injection
Injector injector = Guice.createInjector(new MetaStoreModule(properties));
JobHistoryStore jobHistoryStore = injector.getInstance(JobHistoryStore.class);
SimpleBeanProvider beanProvider = new SimpleBeanProvider();
beanProvider.add("jobHistoryStore", jobHistoryStore);
// Use InjectMockResourceFactory to keep this Spring free
ResourceFactory factory = new InjectMockResourceFactory(beanProvider);
// Create and start the HTTP server
TransportDispatcher dispatcher = new DelegatingTransportDispatcher(new RestLiServer(config, factory));
String acceptedFilters = EncodingType.SNAPPY.getHttpName() + "," + EncodingType.GZIP.getHttpName();
FilterChain filterChain = FilterChains.createRestChain(new ServerCompressionFilter(acceptedFilters));
this.httpServer = Optional.of(new HttpNettyServerFactory(filterChain).createServer(port, dispatcher));
LOGGER.info("Starting the job execution information server");
this.httpServer.get().start();
}
Aggregations