By default, a SolCache Instance caches all live data messages that it receives that match its configured topic subscriptions, as long as they do not exceed the maximum memory or maximum number of topics constraints. However, an Ingress Message Plug-In can be used to examine and further process received matching live data messages before they are cached.
When the Plug-In examines the message contents, a dynamically-linked library (shared library) is used to implement the customer-specific message processing. This allows messages to be modified or even replaced (using the standard Solace C API message parsing/processing functions) according to specific business needs.
After examining and, optionally, modifying the ingress message, the Plug-In can then instruct the SolCache Instance to do one of the following actions:
- cache the message
- flush the cache contents for the topic, then cache the message
- flush the cache contents for the topic, then discard the message
- discard the message
- discard the message, and take the appropriate action for the failure
Note: Cache flush operations affect in-progress cache requests. A cache request may retrieve pre-flush and post-flush data if the flush occurs while a cache is sending the response to a request.
For more information on the Ingress Message Plug-in feature, refer to Using Ingress Message Plug-Ins.