Skip to content

Commit

Permalink
Adding some notes about ancillary marten store limitations and adding…
Browse files Browse the repository at this point in the history
… a note about AddWolverineHttp() to the migration guide
  • Loading branch information
jeremydmiller committed Sep 3, 2024
1 parent cb49f97 commit ad1e720
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 5 deletions.
9 changes: 8 additions & 1 deletion docs/guide/durability/marten/ancillary-stores.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,15 @@ In the case of the ancillary Marten stores, the `IDocumentSession` objects are "
any identity map mechanics for better performance.
:::

What's not (yet) supported:
## What's not (yet) supported

::: warning
There is currently a limitation where Wolverine can only use the inbox/outbox storage from the main Marten
document store even if your handler declares that it is from a separate store. This is perfectly fine if your
ancillary stores target the same PostgreSQL database. This limitation will be removed in 3.0.
:::

* It is not possible to use more than one ancillary store in the same handler with the middleware
* The "Event Forwarding" from Marten to Wolverine
* Fine grained configuration of the `IDocumentSession` objects created for the ancillary stores, so no ability to tag
custom `IDocumentSessionListener` objects or control the session type. Listeners could be added through Wolverine middlware
Expand Down
8 changes: 7 additions & 1 deletion docs/guide/migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,10 @@ a significant improvement in Wolverine's ability to detect node changes and roll

The PostgreSQL transport option requires you to explicitly set the `transportSchema`, or Wolverine will fall through to
using `wolverine_queues` as the schema for the database backed queues. Wolverine will no longer use the envelope storage
schema for the queues.
schema for the queues.

For [Wolverine.Http usage](/guide/http/), the Wolverine 3.0 usage of the less capable `ServiceProvider` instead of the previously
mandated [Lamar](https://jasperfx.github.io/lamar) library necessitates the usage of this API to register necessary
services for Wolverine.HTTP in addition to adding the Wolverine endpoints:

snippet: sample_adding_http_services
13 changes: 10 additions & 3 deletions src/Http/WolverineWebApi/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,22 @@
using WolverineWebApi.WebSockets;
using Order = WolverineWebApi.Order;

#region sample_adding_http_services

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddLogging();
// Necessary services for Wolverine HTTP
// And don't worry, if you forget this, Wolverine
// will assert this is missing on startup:(
builder.Services.AddWolverineHttp();

#endregion


// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddLogging();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddWolverineHttp();

#region sample_register_custom_swashbuckle_filter

Expand Down

0 comments on commit ad1e720

Please sign in to comment.