Releases: Abc-Arbitrage/Zebus
Releases · Abc-Arbitrage/Zebus
v3.15.0
v3.14.1
- Bump Zebus.Contracts version
v3.14.0
- Support auto-subscription to routable messages
- Make the hostname of the inbound endpoint configurable
- Skip scanning of the System.Data.SqlClient assembly
v3.13.3
- Improve dead peer detector behavior when the peer repository is not responding
- Show
BindingKey
contents when serialized to JSON
v3.13.2
- Add storage times to persistence storage report
- Rename
IReporter
interface toIPersistenceReporter
v3.13.1
- Add message report details per message type in Persistence
- Clean-up
IReporter
interface
v3.13.0
v3.12.0
- Support custom startup subscriptions on message handlers
SubscriptionModeAttribute
can now be configured with the type of a custom IStartupSubscriber
. The startup subscriber will be used to create the startup subscriptions for the target message handler.
Complete example:
[SubscriptionMode(typeof(StartupSubscriber))]
public class CustomSubscriptionHandler : IMessageHandler<RoutableEvent>
{
public void Handle(RoutableEvent message)
{
}
public class StartupSubscriber : IStartupSubscriber
{
private readonly IBus _bus;
public StartupSubscriber(IBus bus)
{
_bus = bus;
}
public IEnumerable<BindingKey> GetStartupSubscriptionBindingKeys(Type messageType)
{
if (messageType != typeof(RoutableEvent))
throw new NotSupportedException();
yield return new BindingKey(_bus.PeerId.ToString());
}
}
}
v3.11.0
- Support collections for routing members (breaking change)
Subscriptions can now match collection members using the following syntax:
var subscription = Subscription.Matching<TestCommand>(x => x.IdArray.Contains(123));
Note that Contains
is the only supported operator for collections.