- Proxy support for Event Hubs sync and async clients.
EventHubConsumer
andEventHubAsyncConsumer
now provides last enqueued event information.- Refactored
azure-messaging-eventhubs
to extract AMQP implementation details toazure-core-amqp
module. - Added modules support for JDK 9+.
- Renamed model classes to support Java bean naming convention.
EventHubClient
andEventHubAsyncClient
now provides method to get the name of the Event Hub associated with the client.
- Added synchronous
EventHubConsumer
andEventHubProducer
. - Added support for balancing partitions across multiple instances of
EventProcessor
. - Added
EventProcessorBuilder
to createEventProcessor
and removed that functionality fromEventHubClientBuilder
. - Removed
CheckpointManager
. Checkpointing is done using thePartitionContext
exposed inPartitionProcessor
methods. - Changed
PartitionProcessor
from an interface to an abstract base class. - Changed
EventData.systemProperties
to exclude already exposed properties (ie. sequence number, enqueued time) from the map.
- Added support for AMQP protocol using web sockets to connect to Azure Event Hubs.
- Added support for publishing events using
EventDataBatch
. - Added support for processing events from all Event Hub partitions through
EventProcessor
. This early preview is intended to allow consumers to test the new design using a single instance that does not persist checkpoints to any durable store. - Added a fixed retry policy implementation.
- Removed operation timeouts from
EventHubClientBuilder
,EventHubProducerOptions
, andEventHubConsumerOptions
and moved toRetryOptions
astryTimeout(Duration)
. - Removed exposed retry policies in favor of setting
RetryOptions
. - Renamed all instances of
EventHubPath
toEventHubName
to align with the usage context and unify on the chosen semantics across the client library for different languages. - Fixed various bugs for notifying users of link shutdown and errors.
- Proxy support is not implemented.
EventHubClient
does not clean up itsEventHubPublishers
andEventHubConsumers
. These need to be closed manually by callingEventHubPublisher.close()
orEventHubConsumer.close()
.- On transient AMQP connection/session/link failures, the corresponding transports are not recreated.
Version 5.0.0-preview.1 is a preview of our efforts in creating a client library that is developer-friendly, idiomatic to the Java ecosystem, and as consistent across different languages and platforms as possible. The principles that guide our efforts can be found in the Azure SDK Design Guidelines for .Java.
For release notes and more information please visit https://aka.ms/azure-sdk-preview1-java
- Reactive streams support using Project Reactor.
- Fetch Event Hub and partition metadata using
EventHubClient
. - Publish messages to an Azure Event Hub using
EventHubPublisher
. - Receive messages from an Azure Event Hub using
EventHubConsumer
.
- AMQP protocol using web sockets is not implemented.
- Proxy support is not implemented.
- Event Host Processor is not implemented.
- Creating an
EventDataBatch
is not exposed. - Getting
ReceiverRuntimeInformation
fromEventHubConsumer
is not implemented. EventHubClient
does not clean up itsEventHubPublishers
andEventHubConsumers
. These need to be closed manually by callingEventHubPublisher.close()
orEventHubConsumer.close()
.- Creating more than two concurrent
EventHubClients
orEventHubConsumers
does not work. Limit usage of concurrent clients and consumers to two to avoid failures.