Package org.zalando.fahrschein
Class NakadiClient
- java.lang.Object
-
- org.zalando.fahrschein.NakadiClient
-
public class NakadiClient extends java.lang.ObjectGeneral implementation of the Nakadi Client used within this Library.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static NakadiClientBuilderbuilder(java.net.URI baseUri, org.zalando.fahrschein.http.api.RequestFactory requestFactory)Returns a new Builder that will make use of the givenRequestFactory.voiddeleteSubscription(java.lang.String subscriptionId)Delete subscription based on subscription ID.java.util.List<Partition>getPartitions(java.lang.String eventName)Resolves a list of partitions for the given eventName.<T> voidpublish(java.lang.String eventName, java.util.List<T> events)Writes the given events to the endpoint provided by the eventName.StreamBuilder.LowLevelStreamBuilderstream(java.lang.String eventName)StreamBuilder.SubscriptionStreamBuilderstream(Subscription subscription)Subscriptionsubscribe(java.lang.String applicationName, java.lang.String eventName, java.lang.String consumerGroup)Deprecated.Use theSubscriptionBuilderandsubscription(String, String)instead.SubscriptionBuildersubscription(java.lang.String applicationName, java.lang.String eventName)Build a subscription for a single event type.SubscriptionBuildersubscription(java.lang.String applicationName, java.util.Set<java.lang.String> eventNames)Build a subscription for multiple event types.
-
-
-
Method Detail
-
builder
public static NakadiClientBuilder builder(java.net.URI baseUri, org.zalando.fahrschein.http.api.RequestFactory requestFactory)
Returns a new Builder that will make use of the givenRequestFactory.- Parameters:
baseUri- that we will send requests torequestFactory- that we use for the execution of our HTTP Requests.- Returns:
- A builder to initialize the client. Can be further modified later.
-
getPartitions
public java.util.List<Partition> getPartitions(java.lang.String eventName) throws java.io.IOException
Resolves a list of partitions for the given eventName.- Parameters:
eventName- that we want to resolve the partitions for.- Returns:
List<Partition>ornullin- Throws:
java.io.IOException- in case of network issues.
-
publish
public <T> void publish(java.lang.String eventName, java.util.List<T> events) throws EventPublishingException, java.io.IOExceptionWrites the given events to the endpoint provided by the eventName.- Type Parameters:
T- Type of the Event- Parameters:
eventName- where the event should be written toevents- that should be written- Throws:
java.io.IOException- in case we fail to reach NakadiEventPublishingException- In case Nakadi returns an Erroneous response
-
subscribe
@Deprecated public Subscription subscribe(java.lang.String applicationName, java.lang.String eventName, java.lang.String consumerGroup) throws java.io.IOException
Deprecated.Use theSubscriptionBuilderandsubscription(String, String)instead.Create a subscription for a single event type.- Throws:
java.io.IOException
-
subscription
public SubscriptionBuilder subscription(java.lang.String applicationName, java.lang.String eventName) throws java.io.IOException
Build a subscription for a single event type.- Throws:
java.io.IOException
-
subscription
public SubscriptionBuilder subscription(java.lang.String applicationName, java.util.Set<java.lang.String> eventNames) throws java.io.IOException
Build a subscription for multiple event types.- Throws:
java.io.IOException
-
deleteSubscription
public void deleteSubscription(java.lang.String subscriptionId) throws java.io.IOExceptionDelete subscription based on subscription ID.- Throws:
java.io.IOException
-
stream
public StreamBuilder.SubscriptionStreamBuilder stream(Subscription subscription)
-
stream
public StreamBuilder.LowLevelStreamBuilder stream(java.lang.String eventName)
-
-