DotPulsar.Client.Api
0.1.17-preview
dotnet add package DotPulsar.Client.Api --version 0.1.17-preview
NuGet\Install-Package DotPulsar.Client.Api -Version 0.1.17-preview
<PackageReference Include="DotPulsar.Client.Api" Version="0.1.17-preview" />
<PackageVersion Include="DotPulsar.Client.Api" Version="0.1.17-preview" />
<PackageReference Include="DotPulsar.Client.Api" />
paket add DotPulsar.Client.Api --version 0.1.17-preview
#r "nuget: DotPulsar.Client.Api, 0.1.17-preview"
#:package DotPulsar.Client.Api@0.1.17-preview
#addin nuget:?package=DotPulsar.Client.Api&version=0.1.17-preview&prerelease
#tool nuget:?package=DotPulsar.Client.Api&version=0.1.17-preview&prerelease
DotPulsar.Client.Api
Standalone prototype of the old Apache Pulsar service-facing library style, backed by the official DotPulsar client.
This project intentionally ignores dashboard/metrics for now. The goal is a simple library that services can use directly in the familiar way:
- configure Pulsar connection values
- create tenants, namespaces, and topics through Pulsar admin APIs
- publish messages
- subscribe with raw async handlers
- subscribe with batch semaphore async handlers
Timeouts
Timeouts are applied only to main I/O boundaries:
- producer create:
ProducerConfig.CreateProducerTimeout - producer send:
ProducerConfig.SendTimeout - consumer create:
ConsumerConfig.CreateConsumerTimeout - receive/move-next:
ConsumerConfig.ReceiveOperationTimeout - acknowledge:
ConsumerConfig.AckTimeout - negative acknowledge/redelivery:
ConsumerConfig.NegativeAckTimeout - dispose:
ConsumerConfig.DisposeTimeout/ProducerConfig.DisposeTimeout - business processing:
ConsumerConfig.MessageProcessingTimeout - batch task join:
ConsumerConfig.BatchProcessingTimeout
Internal helper methods are not wrapped one by one.
Registration
using ApachePulsar.Business.Bootstrapper;
using ApachePulsar.Common.Static;
PulsarConfigurations.PulsarConnectionString = "pulsar://localhost:6650";
PulsarConfigurations.PulsarAdminApi = "http://localhost:8080/admin/v2";
PulsarConfigurations.Token = null;
services.AddDotPulsarLibrary();
Resource Creation
Tenant, namespace, and topic creation are still done through admin APIs, not through DotPulsar:
await _tenantService.CreateTenant(new TenantConfig
{
Tenant = "public",
AllowedClusters = "standalone"
});
await _namespaceService.CreateNamespace(new NamespaceConfig
{
Tenant = "public",
Namespace = "default"
});
await _topicService.CreateTopic(new TopicConfig
{
Tenant = "public",
Namespace = "default",
TopicName = "my-topic",
Partitions = 0
});
Handler Shape
public sealed class MyHandler : BatchSemaphorePulsarHandlerAsync<MyMessage>
{
protected override ConsumerConfig HandlerConfig => new()
{
TopicConfig = new TopicConfig
{
Tenant = "public",
Namespace = "default",
TopicName = "my-topic"
},
SubscriptionName = "my-sub"
};
protected override Task ConsumeAsync(MyMessage? obj, CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
}
Current Scope
Implemented:
- DotPulsar client connection
- token auth
- producer publish
- raw consumer handler
- batch semaphore consumer handler
- admin API resource services
- boundary timeouts
Not implemented yet:
- metrics/dashboard
- duplicate tracking
- heartbeat UI
- full config parity with the old package
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- DotPulsar (>= 5.3.3)
- K4os.Compression.LZ4 (>= 1.3.8)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.2)
- Newtonsoft.Json (>= 13.0.4)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on DotPulsar.Client.Api:
| Package | Downloads |
|---|---|
|
MontyMobile.DotPulsar.Manager
Service-oriented Apache Pulsar management library backed by DotPulsar. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.17-preview | 69 | 9/21/2026 |
| 0.1.16-preview | 234 | 9/10/2026 |
| 0.1.15-preview | 106 | 9/9/2026 |
| 0.1.13-preview | 118 | 9/9/2026 |
| 0.1.12-preview | 106 | 9/8/2026 |
| 0.1.11-preview | 119 | 9/8/2026 |
| 0.1.10-preview | 105 | 9/7/2026 |
| 0.1.9-preview | 74 | 9/5/2026 |
| 0.1.7-preview | 90 | 8/28/2026 |
| 0.1.6-preview | 99 | 8/28/2026 |
| 0.1.5-preview | 91 | 8/28/2026 |
| 0.1.4-preview | 88 | 8/27/2026 |
| 0.1.3-preview | 75 | 8/27/2026 |
| 0.1.2-preview | 82 | 8/26/2026 |
| 0.1.1-preview | 77 | 8/26/2026 |