Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Kafka & Pulsar Transports #658

Open
wants to merge 88 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
4fefaf3
Create initial KafkaEndpoint
Apr 16, 2020
0bb4b55
Create initial KafkaTransport & Protocol
Apr 16, 2020
f36697c
Create initial ConfluentKafkaSender
Apr 16, 2020
4c32149
Expose internals to kafka proj
Apr 16, 2020
817c8af
Add a core ITransportProtocol
Apr 16, 2020
e9e6404
Add project to sln
Apr 16, 2020
f20b2f7
Add generics for Kafka producer
Apr 17, 2020
3f4cd34
Move projects to src dir
Apr 17, 2020
3ecdc71
Fix broken refs
Apr 17, 2020
4d7f01e
Make KafkaTransport non-generic
Apr 17, 2020
b916039
Test KafkaEndpoint
Apr 17, 2020
b6b5a59
Add a basic kafka serilaizer
Apr 17, 2020
12dd5f7
Remvoe transport from sender (for now)
Apr 17, 2020
4526acf
Use generic KafkaEndpoint when configuring
Apr 17, 2020
4e345a0
Add basic end-to-end test
Apr 17, 2020
1fc06e2
Create KafkaListener
Apr 17, 2020
e8fef65
Make sure Jasper MessageId goes across the wire
Apr 17, 2020
d27513c
Handle commit exception in listener
Apr 17, 2020
82489d1
Make sure to pass message to publisher
Apr 17, 2020
5d6346f
Add listener on StartListening
Apr 17, 2020
f92f1d5
Leverage ITransporProtocol<> in AzureServiceBus ext
Apr 17, 2020
0ff0532
Enable setting serializers on publisher
Apr 18, 2020
1af638a
Enable setting serializers on consumer
Apr 18, 2020
f4141fb
Honor endpoint TPL ExecutionOptions
Apr 20, 2020
09ac0d9
Remove redundant if statement
Apr 20, 2020
346b39a
Remove unnecessary async and return Task.CompletedTask;
Apr 20, 2020
f764c18
Remove redundant property assignment
Apr 21, 2020
330c121
Remove unused usings
Apr 21, 2020
2cedd77
Abstract away IProducer so we can have a common non-generic interface…
Apr 28, 2020
9f11917
Remove producer/consumer abstractions
Apr 28, 2020
5457e56
Rely entirely on byte arrays for kafka
Apr 28, 2020
06f3769
Remove debugging sleep
Apr 28, 2020
eb2c9c5
Map outgoing/incoming headers from envelope
Apr 28, 2020
80de3a5
Remove commented code and unused usings
Apr 28, 2020
5aba77a
Remove unused constant
Apr 28, 2020
45cea59
Remove unused class
Apr 28, 2020
b3e6fbb
Write test for ordering guarantees
Apr 28, 2020
83481cf
Merge pull request #1 from JarrodJ83/feature/kafka-separate-serializa…
Apr 30, 2020
ff0006f
Strip ISender of queue/buffer related methods/props
Apr 30, 2020
b346707
Rename ISender.Enqueue to ISender.Send for clarity
Apr 30, 2020
b9225eb
Add IRequireSenderCallback and implementation
May 6, 2020
68a12cb
Remove queueing logic from senders
May 6, 2020
fc80140
Refactor for changed sender ctor
May 6, 2020
b85ba13
Refactor for sender ctor change
May 6, 2020
0287cff
Override findEndpointByUri
May 6, 2020
cb086ab
Make sure not to return inside of consumer loop
May 6, 2020
a8ea728
Rename method for clarity
May 6, 2020
abef8bc
Adjust for refactored ctor
May 6, 2020
4d48680
Make Destination field a public property
May 6, 2020
e8e68b4
Set sender callbacks
May 6, 2020
95c1802
Allow passing port number to test setup
May 6, 2020
ffdc3e1
Remove ISenderCallback stub
May 6, 2020
6e8d8db
Pull queue logic up from sender to agent
May 6, 2020
7f9c329
Remove queue logic from sender
May 6, 2020
23ed6fc
Allow overriding timeout value
May 6, 2020
1a40857
Tweak setup of test configuration
May 6, 2020
2732184
Configure ping/pong compliance tests
May 6, 2020
e9c9517
Commit received message
May 6, 2020
bb8c739
Raise error on Fatal producer errors
May 6, 2020
16bfb1f
Don't default producer/consumer configs to make it easier to fail fast
May 6, 2020
676efda
Add message key to jasper headers if set on inbound kafka message
May 7, 2020
9c609c3
Enable not checking timeout in tracked session
May 7, 2020
61994e9
Rename ISendingAgent.StoreAndForward -> Forward for clarity
May 7, 2020
7ba06ef
Add test to make sure publish failures reported to publisher when not…
May 7, 2020
4d6eb3e
Check for null Uris to avoid null ref in MS logger abstraction
May 7, 2020
951f60e
Change listener status
May 7, 2020
08bc4fe
Remove duplicate code
May 7, 2020
08981e0
Update Kafka NuGet info
May 8, 2020
e5501a2
Remove unnecessary dependency
May 8, 2020
7850ef1
Create Pulsar projects
May 8, 2020
6329cfd
Make internals visible to new Pulsar projects
May 8, 2020
800fd47
Enable transports to support multiple schemas
May 8, 2020
1d33257
Create PulsarTopic for consistency working with Pulsar topics
May 8, 2020
a92e9e2
Initial creation of Pulsar transport and tests
May 8, 2020
e0cdfd7
Get properties from incoming Pulsar message
May 10, 2020
56ae641
Add PulsarEndpointTests
May 12, 2020
e20bf6d
Make sure that failed calls return to sender
May 12, 2020
63bb8f1
Keep Jasper specifics in Endpoint and out of PulsarTopic
May 12, 2020
8312c35
Cleanup topics and subscribers for Pulsar compliance tests
May 12, 2020
f70c0d2
Add short delay after creating test harness to allow consumer to latc…
May 12, 2020
98a72ea
Merge pull request #2 from JarrodJ83/feature/reduce-sender-responsibi…
May 14, 2020
a9aaba9
Merge pull request #3 from JarrodJ83/feature/pulsar
May 14, 2020
cfc5d5d
Merge pull request #5 from JarrodJ83/kakfa
May 14, 2020
467f7b5
Merge from JasperFx/master
May 14, 2020
97ff5b8
Rename ISendingAgent.Forward back to StoreAndForward
May 14, 2020
c734f99
Add Pulsar to docker-compose
May 14, 2020
7c64cf3
Rename servcie in docker-compose
May 14, 2020
ef1b73c
Merge pull request #6 from JarrodJ83/revert-isendingagent-name-change
May 14, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 84 additions & 24 deletions Jasper.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26730.16
# Visual Studio Version 16
VisualStudioVersion = 16.0.29806.167
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper", "src\Jasper\Jasper.csproj", "{E617B35A-B0D2-43BB-A723-D29B992EE744}"
EndProject
Expand All @@ -15,45 +15,45 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{A806
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Publisher", "src\Publisher\Publisher.csproj", "{2AE00C65-E72F-4F95-9554-55E9B7D1A519}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.JsonCommands", "src\Jasper.JsonCommands\Jasper.JsonCommands.csproj", "{627A87BA-75B9-4C2E-861E-02880CA04295}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.JsonCommands", "src\Jasper.JsonCommands\Jasper.JsonCommands.csproj", "{627A87BA-75B9-4C2E-861E-02880CA04295}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Persistence", "Persistence", "{166943FC-7D19-4C4A-9E74-02A2CB49CD6B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.Persistence.Marten", "src\Jasper.Persistence.Marten\Jasper.Persistence.Marten.csproj", "{79B5A55F-4AC6-46BA-829B-00A3ACE540D8}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.Persistence.Marten", "src\Jasper.Persistence.Marten\Jasper.Persistence.Marten.csproj", "{79B5A55F-4AC6-46BA-829B-00A3ACE540D8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.Persistence.SqlServer", "src\Jasper.Persistence.SqlServer\Jasper.Persistence.SqlServer.csproj", "{A762EA81-6ECD-4DDD-B073-AC00BA4521CD}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.Persistence.SqlServer", "src\Jasper.Persistence.SqlServer\Jasper.Persistence.SqlServer.csproj", "{A762EA81-6ECD-4DDD-B073-AC00BA4521CD}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions", "Extensions", "{CA5A0AA5-2CAD-4F42-AF73-980469934F27}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestingSupport", "src\TestingSupport\TestingSupport.csproj", "{9D1DBC42-96F7-4516-8C47-9DD35C6D9AAD}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestingSupport", "src\TestingSupport\TestingSupport.csproj", "{9D1DBC42-96F7-4516-8C47-9DD35C6D9AAD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples", "src\Samples\Samples.csproj", "{32E92CD7-190E-4E9E-8230-1D7E5E19A539}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples", "src\Samples\Samples.csproj", "{32E92CD7-190E-4E9E-8230-1D7E5E19A539}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Testing", "Testing", "{2257A448-52A2-466A-ABC5-BD63018F004A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.Persistence.Postgresql", "src\Jasper.Persistence.Postgresql\Jasper.Persistence.Postgresql.csproj", "{4860ADD6-EC91-4DA8-84AC-9882B6210D4D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.Persistence.Postgresql", "src\Jasper.Persistence.Postgresql\Jasper.Persistence.Postgresql.csproj", "{4860ADD6-EC91-4DA8-84AC-9882B6210D4D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StorytellerRunner", "src\StorytellerRunner\StorytellerRunner.csproj", "{0197CBCD-7A5F-4A52-9294-32336B312F9C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StorytellerRunner", "src\StorytellerRunner\StorytellerRunner.csproj", "{0197CBCD-7A5F-4A52-9294-32336B312F9C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.Persistence.Database", "src\Jasper.Persistence.Database\Jasper.Persistence.Database.csproj", "{442F7B7D-C529-4C17-A6F6-C578CA5C06F5}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.Persistence.Database", "src\Jasper.Persistence.Database\Jasper.Persistence.Database.csproj", "{442F7B7D-C529-4C17-A6F6-C578CA5C06F5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.Persistence.Testing", "src\Jasper.Persistence.Testing\Jasper.Persistence.Testing.csproj", "{899902B6-63DB-4FED-ABC7-9AE35CCE1DB6}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.Persistence.Testing", "src\Jasper.Persistence.Testing\Jasper.Persistence.Testing.csproj", "{899902B6-63DB-4FED-ABC7-9AE35CCE1DB6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.Testing", "src\Jasper.Testing\Jasper.Testing.csproj", "{1C7783B1-CC8E-4225-9B9D-30C05A99B912}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.Testing", "src\Jasper.Testing\Jasper.Testing.csproj", "{1C7783B1-CC8E-4225-9B9D-30C05A99B912}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.Persistence.EntityFrameworkCore", "src\Jasper.Persistence.EntityFrameworkCore\Jasper.Persistence.EntityFrameworkCore.csproj", "{D830F62B-1031-47D5-AF3B-CC48A178FE43}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.Persistence.EntityFrameworkCore", "src\Jasper.Persistence.EntityFrameworkCore\Jasper.Persistence.EntityFrameworkCore.csproj", "{D830F62B-1031-47D5-AF3B-CC48A178FE43}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.RabbitMQ", "src\Jasper.RabbitMQ\Jasper.RabbitMQ.csproj", "{1B86F467-4DC6-4D30-9201-FD1BD44C3271}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.RabbitMQ", "src\Jasper.RabbitMQ\Jasper.RabbitMQ.csproj", "{1B86F467-4DC6-4D30-9201-FD1BD44C3271}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.RabbitMQ.Tests", "src\Jasper.RabbitMQ.Tests\Jasper.RabbitMQ.Tests.csproj", "{57273C2A-3F16-49B7-AB6C-80C6F44A60FE}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.RabbitMQ.Tests", "src\Jasper.RabbitMQ.Tests\Jasper.RabbitMQ.Tests.csproj", "{57273C2A-3F16-49B7-AB6C-80C6F44A60FE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.TestSupport.Storyteller", "src\Jasper.TestSupport.Storyteller\Jasper.TestSupport.Storyteller.csproj", "{40670392-73E5-499C-8324-EE40BA6B5A10}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.TestSupport.Storyteller", "src\Jasper.TestSupport.Storyteller\Jasper.TestSupport.Storyteller.csproj", "{40670392-73E5-499C-8324-EE40BA6B5A10}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.TestSupport.Tests", "src\Jasper.TestSupport.Tests\Jasper.TestSupport.Tests.csproj", "{D09FBD2B-87AD-47CC-9191-5B4E06A48FBC}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.TestSupport.Tests", "src\Jasper.TestSupport.Tests\Jasper.TestSupport.Tests.csproj", "{D09FBD2B-87AD-47CC-9191-5B4E06A48FBC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.AzureServiceBus", "src\Jasper.AzureServiceBus\Jasper.AzureServiceBus.csproj", "{CA4812BF-8580-4891-95FE-518930FCF859}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.AzureServiceBus", "src\Jasper.AzureServiceBus\Jasper.AzureServiceBus.csproj", "{CA4812BF-8580-4891-95FE-518930FCF859}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.AzureServiceBus.Tests", "src\Jasper.AzureServiceBus.Tests\Jasper.AzureServiceBus.Tests.csproj", "{6EC1EA66-63C7-4DF6-8DCB-40DFBEA4E07A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.AzureServiceBus.Tests", "src\Jasper.AzureServiceBus.Tests\Jasper.AzureServiceBus.Tests.csproj", "{6EC1EA66-63C7-4DF6-8DCB-40DFBEA4E07A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Http", "Http", "{7687741C-5880-464B-A51D-CAA0C0B1CE0D}"
EndProject
Expand All @@ -63,6 +63,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.Http.Testing", "src\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EFPlusSqlServerConsole", "src\EFPlusSqlServerConsole\EFPlusSqlServerConsole.csproj", "{5AD9CD6C-05B9-4A83-8CFA-EDCFF09E5B3B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.ConfluentKafka", "src\Jasper.ConfluentKafka\Jasper.ConfluentKafka.csproj", "{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.ConfluentKafka.Tests", "src\Jasper.ConfluentKafka.Tests\Jasper.ConfluentKafka.Tests.csproj", "{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jasper.Pulsar", "src\Jasper.Pulsar\Jasper.Pulsar.csproj", "{BB253930-8225-4737-9BB0-6F89A4073225}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jasper.Pulsar.Tests", "src\Jasper.Pulsar.Tests\Jasper.Pulsar.Tests.csproj", "{0A6C2CD0-23AF-45AB-A737-9D1D64693717}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -373,20 +381,68 @@ Global
{5AD9CD6C-05B9-4A83-8CFA-EDCFF09E5B3B}.Release|x64.Build.0 = Release|Any CPU
{5AD9CD6C-05B9-4A83-8CFA-EDCFF09E5B3B}.Release|x86.ActiveCfg = Release|Any CPU
{5AD9CD6C-05B9-4A83-8CFA-EDCFF09E5B3B}.Release|x86.Build.0 = Release|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Debug|x64.ActiveCfg = Debug|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Debug|x64.Build.0 = Debug|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Debug|x86.ActiveCfg = Debug|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Debug|x86.Build.0 = Debug|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Release|Any CPU.Build.0 = Release|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Release|x64.ActiveCfg = Release|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Release|x64.Build.0 = Release|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Release|x86.ActiveCfg = Release|Any CPU
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A}.Release|x86.Build.0 = Release|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Debug|x64.ActiveCfg = Debug|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Debug|x64.Build.0 = Debug|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Debug|x86.ActiveCfg = Debug|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Debug|x86.Build.0 = Debug|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Release|Any CPU.Build.0 = Release|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Release|x64.ActiveCfg = Release|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Release|x64.Build.0 = Release|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Release|x86.ActiveCfg = Release|Any CPU
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A}.Release|x86.Build.0 = Release|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Debug|x64.ActiveCfg = Debug|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Debug|x64.Build.0 = Debug|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Debug|x86.ActiveCfg = Debug|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Debug|x86.Build.0 = Debug|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Release|Any CPU.Build.0 = Release|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Release|x64.ActiveCfg = Release|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Release|x64.Build.0 = Release|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Release|x86.ActiveCfg = Release|Any CPU
{BB253930-8225-4737-9BB0-6F89A4073225}.Release|x86.Build.0 = Release|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Debug|x64.ActiveCfg = Debug|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Debug|x64.Build.0 = Debug|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Debug|x86.ActiveCfg = Debug|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Debug|x86.Build.0 = Debug|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Release|Any CPU.Build.0 = Release|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Release|x64.ActiveCfg = Release|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Release|x64.Build.0 = Release|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Release|x86.ActiveCfg = Release|Any CPU
{0A6C2CD0-23AF-45AB-A737-9D1D64693717}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{2AE00C65-E72F-4F95-9554-55E9B7D1A519} = {A806095A-9D66-4D55-8662-1FC67E90F6FB}
{3FA62C1A-7046-4CFB-8124-284EC7BD3660} = {A806095A-9D66-4D55-8662-1FC67E90F6FB}
{4F18A2E4-5056-48C8-89BA-4837F6F983E4} = {A806095A-9D66-4D55-8662-1FC67E90F6FB}
{3FA62C1A-7046-4CFB-8124-284EC7BD3660} = {A806095A-9D66-4D55-8662-1FC67E90F6FB}
{51279890-5EDE-42A3-8D8D-EE0230CE0944} = {2257A448-52A2-466A-ABC5-BD63018F004A}
{2AE00C65-E72F-4F95-9554-55E9B7D1A519} = {A806095A-9D66-4D55-8662-1FC67E90F6FB}
{627A87BA-75B9-4C2E-861E-02880CA04295} = {CA5A0AA5-2CAD-4F42-AF73-980469934F27}
{79B5A55F-4AC6-46BA-829B-00A3ACE540D8} = {166943FC-7D19-4C4A-9E74-02A2CB49CD6B}
{A762EA81-6ECD-4DDD-B073-AC00BA4521CD} = {166943FC-7D19-4C4A-9E74-02A2CB49CD6B}
{627A87BA-75B9-4C2E-861E-02880CA04295} = {CA5A0AA5-2CAD-4F42-AF73-980469934F27}
{32E92CD7-190E-4E9E-8230-1D7E5E19A539} = {A806095A-9D66-4D55-8662-1FC67E90F6FB}
{51279890-5EDE-42A3-8D8D-EE0230CE0944} = {2257A448-52A2-466A-ABC5-BD63018F004A}
{9D1DBC42-96F7-4516-8C47-9DD35C6D9AAD} = {2257A448-52A2-466A-ABC5-BD63018F004A}
{32E92CD7-190E-4E9E-8230-1D7E5E19A539} = {A806095A-9D66-4D55-8662-1FC67E90F6FB}
{4860ADD6-EC91-4DA8-84AC-9882B6210D4D} = {166943FC-7D19-4C4A-9E74-02A2CB49CD6B}
{0197CBCD-7A5F-4A52-9294-32336B312F9C} = {2257A448-52A2-466A-ABC5-BD63018F004A}
{442F7B7D-C529-4C17-A6F6-C578CA5C06F5} = {166943FC-7D19-4C4A-9E74-02A2CB49CD6B}
Expand All @@ -402,6 +458,10 @@ Global
{AB120B77-376F-4F84-8FAC-297A066E9434} = {7687741C-5880-464B-A51D-CAA0C0B1CE0D}
{39F644C3-832A-471D-8827-BDC6B270F73B} = {7687741C-5880-464B-A51D-CAA0C0B1CE0D}
{5AD9CD6C-05B9-4A83-8CFA-EDCFF09E5B3B} = {A806095A-9D66-4D55-8662-1FC67E90F6FB}
{ABBCB70C-9087-4A0C-A3DB-C9BB0DFAAC5A} = {CA5A0AA5-2CAD-4F42-AF73-980469934F27}
{B8F1BCB3-4A8A-4368-85BA-E69EB879BC5A} = {CA5A0AA5-2CAD-4F42-AF73-980469934F27}
{BB253930-8225-4737-9BB0-6F89A4073225} = {CA5A0AA5-2CAD-4F42-AF73-980469934F27}
{0A6C2CD0-23AF-45AB-A737-9D1D64693717} = {CA5A0AA5-2CAD-4F42-AF73-980469934F27}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D92D723F-44EC-4C1E-AAC3-C162FCEAAA08}
Expand Down
10 changes: 10 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,13 @@ services:
- "ACCEPT_EULA=Y"
- "SA_PASSWORD=P@55w0rd"
- "MSSQL_PID=Developer"
pulsar:
image: apachepulsar/pulsar
ports:
- "6650:6650"
environment:
- PULSAR_MEM=" -Xms512m -Xmx512m -XX:MaxDirectMemorySize=1g"
command: >
/bin/bash -c
"bin/apply-config-from-env.py conf/standalone.conf
&& bin/pulsar standalone"
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>

<IsPackable>false</IsPackable>
</PropertyGroup>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Jasper.AzureServiceBus\Jasper.AzureServiceBus.csproj" />
<ProjectReference Include="..\Jasper.Persistence.Marten\Jasper.Persistence.Marten.csproj" />
<ProjectReference Include="..\TestingSupport\TestingSupport.csproj" />
<ItemGroup>
<ProjectReference Include="..\Jasper.AzureServiceBus\Jasper.AzureServiceBus.csproj" />
<ProjectReference Include="..\Jasper.Persistence.Marten\Jasper.Persistence.Marten.csproj" />
<ProjectReference Include="..\TestingSupport\TestingSupport.csproj" />

</ItemGroup>
</ItemGroup>

<ItemGroup>
<Compile Include="..\IntegrationTests\Servers.cs">
<Link>Servers.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<Compile Include="..\IntegrationTests\Servers.cs">
<Link>Servers.cs</Link>
</Compile>
</ItemGroup>

</Project>
4 changes: 2 additions & 2 deletions src/Jasper.AzureServiceBus.Tests/Samples.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
using Baseline;
using Jasper.Attributes;
using Jasper.AzureServiceBus.Internal;
using Jasper.Transports;
using Microsoft.Azure.ServiceBus;
using Microsoft.Azure.ServiceBus.Primitives;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace Jasper.AzureServiceBus.Tests
Expand Down Expand Up @@ -64,7 +64,7 @@ public AzureServiceBusTopicSendingApp( )



public class MySpecialProtocol : IAzureServiceBusProtocol
public class MySpecialProtocol : ITransportProtocol<Message>
{
public Message WriteFromEnvelope(Envelope envelope)
{
Expand Down
5 changes: 3 additions & 2 deletions src/Jasper.AzureServiceBus/AzureServiceBusEndpoint.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using Jasper.Transports;
using Jasper.Transports.Sending;
using Jasper.Util;
using Microsoft.Azure.ServiceBus;

namespace Jasper.AzureServiceBus
{
Expand All @@ -33,7 +34,7 @@ public AzureServiceBusEndpoint(Uri uri) : base(uri)
public string QueueName { get; set; }
public string TopicName { get; set; }

public IAzureServiceBusProtocol Protocol { get; set; } = new DefaultAzureServiceBusProtocol();
public ITransportProtocol<Message> Protocol { get; set; } = new DefaultAzureServiceBusProtocol();

public override Uri Uri => buildUri(false);

Expand Down Expand Up @@ -139,7 +140,7 @@ protected internal override void StartListening(IMessagingRoot root, ITransportR
protected override ISender CreateSender(IMessagingRoot root)
{
if (Parent.ConnectionString == null) throw new InvalidOperationException("There is no configured connection string for Azure Service Bus, or it is empty");
return new AzureServiceBusSender(this, Parent, root.TransportLogger, root.Cancellation);
return new AzureServiceBusSender(this, Parent);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
using Jasper.Configuration;
using Jasper.Transports;
using Microsoft.Azure.ServiceBus;

namespace Jasper.AzureServiceBus
{
Expand All @@ -14,7 +16,7 @@ public AzureServiceBusListenerConfiguration(AzureServiceBusEndpoint endpoint) :
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public AzureServiceBusListenerConfiguration Protocol<T>() where T : IAzureServiceBusProtocol, new()
public AzureServiceBusListenerConfiguration Protocol<T>() where T : ITransportProtocol<Message>, new()
{
return Protocol(new T());
}
Expand All @@ -25,7 +27,7 @@ public AzureServiceBusListenerConfiguration(AzureServiceBusEndpoint endpoint) :
/// </summary>
/// <param name="protocol"></param>
/// <returns></returns>
public AzureServiceBusListenerConfiguration Protocol(IAzureServiceBusProtocol protocol)
public AzureServiceBusListenerConfiguration Protocol(ITransportProtocol<Message> protocol)
{
endpoint.Protocol = protocol;
return this;
Expand Down
Loading