Comments (3)
Good point. The issue, as always, is to be able to distinguish between those services, as each shovel (will be called a Gateway
in the next version) might need a different one. If you look at the current subscription builder and all the stuff related to registrations of subscriptions, you'll see how cumbersome it becomes...
Still, if we agree that the first working solution would be ok assuming only one shovel needs to be there in one application, I can enable registering a shovel without providing a function.
So, instead of:
services.AddShovel<AllStreamSubscription, AllStreamSubscriptionOptions, EventStoreProducer>("myShovel", x => {...});
You could do this:
services.AddSingleton<MyTransformer>();
services.AddSingleton<RouteAndTransform>(sp => sp.GetRequiredService<MyTransformer>.Transform);
services.AddShovel<AllStreamSubscription, AllStreamSubscriptionOptions, EventStoreProducer>("myShovel");
That can be done quickly.
from eventuous.
we can decide on shovel transform instance upon declaring it, this way it is not one instance which implements RouteAndTransform
services.AddSingleton<MyTransformer>();
services
.AddShovel<AllStreamSubscription, AllStreamSubscriptionOptions, EventStoreProducer>(
"IntegrationSubscription",
sp=>sp.GetRequiredService<MyTransformer>.Transform
);
from eventuous.
True, so, basically, for the registration a simple improvement would to accept a function to resolve the transformer.
from eventuous.
Related Issues (20)
- Avoid unnecessary copy of Payload and Metadata in EsdbEventStore
- Most of the AspNetCore extensions should likely be changed/moved to something more generic HOT 1
- Multitenant implementation HOT 20
- Custom queue name in RMQ gateway subscription
- Crypto Shredding Serialization/Deserialization Support
- Subscriptions sometimes skips events HOT 24
- Postgres subscription is flooding database server with polling queries HOT 3
- Postgres subscription does not automatically reconnect after database server restart HOT 1
- Promote InMemoryEventStore to the main Eventuous library
- Wrong event stream name in EventStoreDB persistent subscription events
- MongoProjector ignores exceptions returning EventHandlingStatus.Success with no logs HOT 1
- Npgsql.PostgresException: 23505: duplicate key value violates unique constraint "pk_checkpoints" HOT 1
- Postgres Store and Sample Booking Application
- Follow RFC 7807: Problem Details for HTTP APIs HOT 4
- Cannot use more than one gateway transformation HOT 1
- [Aggregate Store] Non-intrusive aggregate caching HOT 2
- MapEventuousSpyglass interferes with UseAuthentication and UseAuthorization HOT 1
- Using MapDiscoveredCommands with multiple aggregates results in error 'No handler found for command Object ' HOT 16
- Ability to return a custom return type for a command API reponse HOT 5
- SQL Server __schema__.Streams.StreamName is too big to be indexed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eventuous.