Hi,
We have installed a service bus on a Litium 7 environment. Set up connection string on all environments. But now, the event brokers subscriptions is only working on the changed environments. Do we need to add anything so that, when a category is updated, all environments will run the subscription events?
Hi,
What is your subscriber idoing, updating some cache? Then you have to write your eventbroker to propagate it to other subscribers since all the events are local.
Not sure what cache you are using but if you use the Litium.Caching.MemoryCacheService an event is automatic propagated to all applications to remove the item from the cache when you call the Remove(string) method.
The subscriptions Jinesh is talking about is from the Accelerator in Litium.Accelerator.Search.Filtering.CategoryFilterService. Are you saying that this implementation does not handle event propagation among multiple applications?
Reading the documentation at https://docs.litium.com/documentation/architecture/events-handling one could get the idea that it’s built-in: “The event broker is used to handle events. When using multiple applications, web farms or multiple developers with the same database, the event synchronization between all applications are made with a service bus.”
When looking at the implementation it looks like it not propagating the cache removal to other servers. Please, create a bug on docs.
In general the events that is triggered by Litium is only raised on the same application and the cachen that will be flushed by the event will trigger another event that is replicated to all servers to remove the item from the cache.