Package datahub.client.rest
Class RestEmitter
- java.lang.Object
-
- datahub.client.rest.RestEmitter
-
-
Constructor Summary
Constructors Constructor Description RestEmitter(RestEmitterConfig config)The default constructor, prefer using the `create` factory method.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()static RestEmittercreate(java.util.function.Consumer<RestEmitterConfig.RestEmitterConfigBuilder> builderSupplier)Constructing a REST Emitter follows a lambda-based fluent builder pattern using the `create` method.static RestEmittercreateWithDefaults()Creates a RestEmitter with default settings.java.util.concurrent.Future<MetadataWriteResponse>emit(com.linkedin.mxe.MetadataChangeProposal mcp, Callback callback)Asynchronously emit aMetadataChangeProposalevent.java.util.concurrent.Future<MetadataWriteResponse>emit(MetadataChangeProposalWrapper mcpw, Callback callback)Asynchronously emit aMetadataChangeProposalWrapperevent.java.util.concurrent.Future<MetadataWriteResponse>emit(java.util.List<UpsertAspectRequest> request, Callback callback)Asynchronously emit aUpsertAspectRequest.booleantestConnection()Test that the emitter can establish a valid connection to the DataHub platform
-
-
-
Constructor Detail
-
RestEmitter
public RestEmitter(RestEmitterConfig config)
The default constructor, prefer using the `create` factory method.- Parameters:
config-
-
-
Method Detail
-
create
public static RestEmitter create(java.util.function.Consumer<RestEmitterConfig.RestEmitterConfigBuilder> builderSupplier)
Constructing a REST Emitter follows a lambda-based fluent builder pattern using the `create` method. e.g. RestEmitter emitter = RestEmitter.create(b :: b .server("http://localhost:8080") // coordinates of gms server .extraHeaders(Collections.singletonMap("Custom-Header", "custom-val") ); You can also customize the underlying http client by calling the `customizeHttpAsyncClient` method on the builder. e.g. RestEmitter emitter = RestEmitter.create(b :: b .server("http://localhost:8080") .extraHeaders(Collections.singletonMap("Custom-Header", "custom-val") .customizeHttpAsyncClient(c :: c.setConnectionTimeToLive(30, TimeUnit.SECONDS)) );- Parameters:
builderSupplier-- Returns:
- a constructed RestEmitter. Call #testConnection to make sure this emitter has a valid connection to the server
-
createWithDefaults
public static RestEmitter createWithDefaults()
Creates a RestEmitter with default settings.- Returns:
- a constructed RestEmitter. Call #test_connection to validate that this emitter can communicate with the server.
-
emit
public java.util.concurrent.Future<MetadataWriteResponse> emit(MetadataChangeProposalWrapper mcpw, Callback callback) throws java.io.IOException
Description copied from interface:EmitterAsynchronously emit aMetadataChangeProposalWrapperevent.
-
emit
public java.util.concurrent.Future<MetadataWriteResponse> emit(com.linkedin.mxe.MetadataChangeProposal mcp, Callback callback) throws java.io.IOException
Description copied from interface:EmitterAsynchronously emit aMetadataChangeProposalevent. Prefer using the sibling method that accepts aMetadataChangeProposalWrapperevent as those are friendlier to construct.
-
testConnection
public boolean testConnection() throws java.io.IOException, java.util.concurrent.ExecutionException, java.lang.InterruptedExceptionDescription copied from interface:EmitterTest that the emitter can establish a valid connection to the DataHub platform- Specified by:
testConnectionin interfaceEmitter- Returns:
- true if a valid connection can be established, false or throws one of the exceptions otherwise
- Throws:
java.io.IOExceptionjava.util.concurrent.ExecutionExceptionjava.lang.InterruptedException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
emit
public java.util.concurrent.Future<MetadataWriteResponse> emit(java.util.List<UpsertAspectRequest> request, Callback callback) throws java.io.IOException
Description copied from interface:EmitterAsynchronously emit aUpsertAspectRequest.
-
-