Microservices
Updated On 23 March 2025 | Min(s) read

Event Filtration

The Microservice Ingester Framework offers the necessary infrastructure for microservices to implement event handlers for their specific business logic. It processes only the relevant events, as the Holdings Microservices (HMS) have implemented various ingesters such as Transact Avro, First-class Business Events, Data Events, and external product sync that handle all incoming events. To avoid the consumption of all events, the system filters the specific events at the ingester (gateway), reducing overhead and ensuring that event handlers only process the relevant events within their scope.

From R25, we have enhanced the same in HMS to filter the events at framework.

First Class Business Events (FCBE) and Data events consume all events, store them in the inbox table, and then pass them on to the underlying business implementation. HMS processes these events based on specific tags. Read HMS-Event Processor Ingestion and HMS Outbox Ingestion for more information.

Configuring Generic Config MS

Configure the Generic Config MS with the list of events allowed across the different Ingesters of the Microservice using the API below. HMS retrieves these event types from the Generic Config MS and processes only the events that are configured.

Configuring Events
This API is used to post event types.

POST/system/configurationGroups/{groupId}/configuration/{configId}

Sample URL
{{baseuri}}/api/v2.0.0/system/configurationGroups/eventFilters/configuration/com.temenos.microservice.ms-holdings.EventHandler
Sample Request Payload
{
    "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "name": "com.temenos.microservice.ms-holdings.EventHandler",
    "configData": {
        "data": {
            "type": [
                "^accounts\\.[a-zA-Z-]+\\.amendAlternateId\\.AlternateIdAmended$",
                "^accounts\\.[a-zA-Z-]+\\.updateAccount\\.accountUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.amendAlternateId\\.AlternateIdAmended$",
                "^deposits\\.[a-zA-Z-]+\\.updateDeposit\\.depositUpdated$",
                "^lending\\.[a-zA-Z-]+\\.amendAlternateId\\.alternateIdAmended$",
                "^lending\\.[a-zA-Z-]+\\.updateAccount\\.accountUpdated$",
                "^lending\\.[a-zA-Z-]+\\.endRestriction\\.restrictionEnds$",
                "^lending\\.[a-zA-Z-]+\\.issueRollover\\.rolloverIssued$",
                "^lending\\.[a-zA-Z-]+\\.maintain\\.accountMaintained$",
                "^deposits\\.[a-zA-Z-]+\\.update\\.conditionUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.capitalisePaymentSchedule\\.paymentScheduleCapitalised$",
                "^lending\\.[a-zA-Z-]+\\.capitalisePaymentSchedule\\.paymentScheduleCapitalised$",
                "^accounts\\.[a-zA-Z-]+\\.payoff\\.transactionExecuted$",
                "^lending\\.[a-zA-Z-]+\\.payinTransaction\\.transactionExecuted $",
                "^accounts\\.[a-zA-Z-]+\\.payin\\.transactionExecuted$",
                "^deposits\\.[a-zA-Z-]+\\.payinTransaction\\.transactionExecuted$",
                "^lending\\.[a-zA-Z-]+\\.repay\\.transactionExecuted$",
                "^deposits\\.[a-zA-Z-]+\\.cancel\\.depositCancelled$",
                "^lending\\.[a-zA-Z-]+\\.cancel\\.loanCancelled$",
                "^accounts\\.[a-zA-Z-]+\\.close\\.accountClosed$",
                "^accounts\\.[a-zA-Z-]+\\.closeOffer\\.OfferClosed$",
                "^deposits\\.[a-zA-Z-]+\\.close\\.depositClosed$",
                "^lending\\.[a-zA-Z-]+\\.closeOffer\\.offerClosed$",
                "^lending\\.[a-zA-Z-]+\\.close\\.loanClosed$",
                "^external\\.[a-zA-Z-]+\\.close\\.externalClosed$",
                "^externalfinancial\\.[a-zA-Z-]+\\.close\\.externalfinancialClosed$",
                "^accounts\\.[a-zA-Z-]+\\.accrueInterest\\.interestAccrued$",
                "^accounts\\.[a-zA-Z-]+\\.adjustCapitaliseSchedule\\.scheduleCapitalisationAdjusted$",
                "^accounts\\.[a-zA-Z-]+\\.closeInactiveAccount\\.inactiveAccountClosed$",
                "^accounts\\.[a-zA-Z-]+\\.calculatePayoff\\.payoffCalculated$",
                "^accounts\\.[a-zA-Z-]+\\.capitaliseAllBalance\\.allBalanceCapitalised$",
                "^accounts\\.[a-zA-Z-]+\\.capitaliseInterest\\.interestCapitalised$",
                "^accounts\\.[a-zA-Z-]+\\.deferCapitaliseSchedule\\.capitaliseScheduleDeferred$",
                "^accounts\\.[a-zA-Z-]+\\.suspend\\.accountSuspended$",
                "^deposits\\.[a-zA-Z-]+\\.accrueInterest\\.interestAccrued$",
                "^deposits\\.[a-zA-Z-]+\\.capitaliseInterest\\.interestCapitalised$",
                "^deposits\\.[a-zA-Z-]+\\.deferCapitaliseSchedule\\.capitaliseScheduleDeferred$",
                "^deposits\\.[a-zA-Z-]+\\.redeem\\.redeemed$",
                "^lending\\.[a-zA-Z-]+\\.accrueInterest\\.interestAccrued$",
                "^lending\\.[a-zA-Z-]+\\.adjustBalance\\.balanceAdjusted$",
                "^lending\\.[a-zA-Z-]+\\.calculatePayoff\\.payoffCalculated$",
                "^lending\\.[a-zA-Z-]+\\.capitaliseInterest\\.interestCapitalised$",
                "^lending\\.[a-zA-Z-]+\\.deferCapitaliseSchedule\\.capitaliseScheduleDeferred$",
                "^lending\\.[a-zA-Z-]+\\.deferMakeDueSchedule\\.makeDueScheduleDeferred$",
                "^lending\\.[a-zA-Z-]+\\.settleRollover\\.loanSettled$",
                "^lending\\.[a-zA-Z-]+\\.suspend\\.loanSuspended$",
                "^lending\\.[a-zA-Z-]+\\.adjustInterest\\.interestAdjusted$",
                "^accounts\\.[a-zA-Z-]+\\.adjustInterest\\.interestAdjusted$",
                "^deposits\\.[a-zA-Z-]+\\.adjustInterest\\.interestAdjusted$",
                "^deposits\\.[a-zA-Z-]+\\.mature\\.depositMatured$",
                "^lending\\.[a-zA-Z-]+\\.mature\\.loanMatured$",
                "^lending\\.[a-zA-Z-]+\\.capitalisePeriodicCharges\\.periodicChargeCapitalised$",
                "^accounts\\.[a-zA-Z-]+\\.capitalisePaymentSchedule\\.paymentScheduleCapitalised$",
                "^lending\\.[a-zA-Z-]+\\.calculatePaymentSchedule\\.paymentScheduleCalculated$",
                "^accounts\\.[a-zA-Z-]+\\.accrueCharge\\.chargeAccrued$",
                "^accounts\\.[a-zA-Z-]+\\.accruePeriodicCharge\\.periodicChargeAccrued$",
                "^accounts\\.[a-zA-Z-]+\\.adjustBalance\\.balanceAdjusted$",
                "^accounts\\.[a-zA-Z-]+\\.adjustSuspenseBalance\\.suspenseBalanceAdjusted$",
                "^accounts\\.[a-zA-Z-]+\\.overdraftLimit\\.limitOverdrawn$",
                "^accounts\\.[a-zA-Z-]+\\.update\\.conditionUpdated$",
                "^accounts\\.[a-zA-Z-]+\\.debitInactiveAccount\\.balanceTransferred$",
                "^accounts\\.[a-zA-Z-]+\\.resetDormancy\\.dormancyReset$",
                "^accounts\\.[a-zA-Z-]+\\.calculateAgentCommission\\.agentCommissionCalculated$",
                "^accounts\\.[a-zA-Z-]+\\.capitaliseCharge\\.chargeCapitalised$",
                "^accounts\\.[a-zA-Z-]+\\.captureBalance\\.balanceCaptured$",
                "^accounts\\.[a-zA-Z-]+\\.captureLegacyBalance\\.balanceCaptured$",
                "^accounts\\.[a-zA-Z-]+\\.settleSettlement\\.settlementSettled$",
                "^accounts\\.[a-zA-Z-]+\\.overdraftLimit\\.limitReinitiated$",
                "^accounts\\.[a-zA-Z-]+\\.deferCapitalisePeriodicCharge\\.capitalisePeriodicChargeDeferred$",
                "^accounts\\.[a-zA-Z-]+\\.evaluateDormancy\\.dormancyEvaluated$",
                "^accounts\\.[a-zA-Z-]+\\.issueChaserDormancy\\.dormancyChaserIssued$",
                "^accounts\\.[a-zA-Z-]+\\.issueChaser\\.limitChaserIssued$",
                "^accounts\\.[a-zA-Z-]+\\.issueOrder\\.paymentOrderIssued$",
                "^accounts\\.[a-zA-Z-]+\\.limitBalance\\.limitBalanceUpdated$",
                "^accounts\\.[a-zA-Z-]+\\.set\\.dormancySet$",
                "^accounts\\.[a-zA-Z-]+\\.reviewEligibility\\.eligibilityReviewed$",
                "^accounts\\.[a-zA-Z-]+\\.reviewRestriction\\.restrictionReviewed$",
                "^accounts\\.[a-zA-Z-]+\\.prenotice\\.accountPrenoticed$",
                "^accounts\\.[a-zA-Z-]+\\.recordEvent\\.eventRecorded$",
                "^accounts\\.[a-zA-Z-]+\\.initiateDormancyChange\\.dormancyChangeInitiated$",
                "^accounts\\.[a-zA-Z-]+\\.subscribeAlerts\\.alertsSubscribed$",
                "^deposits\\.[a-zA-Z-]+\\.accrueCharge\\.chargeAccrued$",
                "^deposits\\.[a-zA-Z-]+\\.accruePeriodicCharge\\.periodicChargeAccrued$",
                "^deposits\\.[a-zA-Z-]+\\.adjustBalance\\.balanceAdjusted$",
                "^deposits\\.[a-zA-Z-]+\\.adjustSuspenseBalance\\.suspenseBalanceAdjusted$",
                "^deposits\\.[a-zA-Z-]+\\.debitInactiveDeposit\\.balanceTransferred$",
                "^deposits\\.[a-zA-Z-]+\\.resetDormancy\\.dormancyReset$",
                "^deposits\\.[a-zA-Z-]+\\.calculateAgentCommission\\.agentCommissionCalculated$",
                "^deposits\\.[a-zA-Z-]+\\.cancelCharge\\.chargeCancelled$",
                "^deposits\\.[a-zA-Z-]+\\.capitaliseCharge\\.chargeCapitalised$",
                "^deposits\\.[a-zA-Z-]+\\.captureBalance\\.balanceCaptured$",
                "^deposits\\.[a-zA-Z-]+\\.settleSettlement\\.settlementSettled$",
                "^deposits\\.[a-zA-Z-]+\\.takeover\\.cashflowUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.deferCapitalisePeriodicCharge\\.capitalisePeriodicChargeDeferred$",
                "^deposits\\.[a-zA-Z-]+\\.update\\.interestUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.evaluateDormancy\\.dormancyEvaluated$",
                "^deposits\\.[a-zA-Z-]+\\.fund\\.fullyFunded$",
                "^deposits\\.[a-zA-Z-]+\\.set\\.dormancySet$",
                "^deposits\\.[a-zA-Z-]+\\.issueChaserDormancy\\.dormancyChaserIssued$",
                "^deposits\\.[a-zA-Z-]+\\.issueChaser\\.overdueChaserIssued$",
                "^deposits\\.[a-zA-Z-]+\\.issueOrder\\.paymentOrderIssued$",
                "^deposits\\.[a-zA-Z-]+\\.reviewEligibility\\.eligibilityReviewed$",
                "^deposits\\.[a-zA-Z-]+\\.reviewRestriction\\.restrictionReviewed$",
                "^deposits\\.[a-zA-Z-]+\\.prenotice\\.depositPrenoticed$",
                "^deposits\\.[a-zA-Z-]+\\.recordEvent\\.eventRecorded$",
                "^deposits\\.[a-zA-Z-]+\\.initiateDormancyChange\\.dormancyChangeInitiated$",
                "^deposits\\.[a-zA-Z-]+\\.subscribeAlerts\\.alertsSubscribed$",
                "^deposits\\.[a-zA-Z-]+\\.rollover\\.depositRolledOver$",
                "^lending\\.[a-zA-Z-]+\\.accrueCharge\\.chargeAccrued$",
                "^lending\\.[a-zA-Z-]+\\.accruePeriodicCharge\\.periodicChargeAccrued$",
                "^lending\\.[a-zA-Z-]+\\.adjustSuspenseBalance\\.suspenseBalanceAdjusted$",
                "^lending\\.[a-zA-Z-]+\\.resetDormacy\\.dormancyReset$",
                "^lending\\.[a-zA-Z-]+\\.update\\.conditionUpdated$",
                "^lending\\.[a-zA-Z-]+\\.calculateAgentCommisssion\\.agentCommissionCalculated$",
                "^lending\\.[a-zA-Z-]+\\.cancelCharge\\.chargeCancelled$",
                "^lending\\.[a-zA-Z-]+\\.capitaliseCharge\\.chargeCapitalised$",
                "^lending\\.[a-zA-Z-]+\\.captureBalance\\.balanceCaptured$",
                "^lending\\.[a-zA-Z-]+\\.updateCharge\\.chargeUpdated$",
                "^lending\\.[a-zA-Z-]+\\.change\\.pricingGridModified$",
                "^lending\\.[a-zA-Z-]+\\.settleSettlement\\.settlementSettled$",
                "^lending\\.[a-zA-Z-]+\\.deferCapitalisePeriodicCharges\\.capitalisePeriodicChargesDeferred$",
                "^lending\\.[a-zA-Z-]+\\.deferClosure\\.closureDeferred$",
                "^lending\\.[a-zA-Z-]+\\.deferMakeDuePeriodicCharges\\.makeDuePeriodicChargesDeferred$",
                "^lending\\.[a-zA-Z-]+\\.evaluate\\.closureEvaluated$",
                "^lending\\.[a-zA-Z-]+\\.evaluate\\.dormancyEvaluated$",
                "^lending\\.[a-zA-Z-]+\\.evaluate\\.gridBalanceEvaluated$",
                "^lending\\.[a-zA-Z-]+\\.expireTerm\\.termExpired$",
                "^lending\\.[a-zA-Z-]+\\.disburse\\.fullyDisbursed$",
                "^lending\\.[a-zA-Z-]+\\.initiateChargeOff\\.chargeOffInitiated$",
                "^lending\\.[a-zA-Z-]+\\.issueChaser\\.dormancyChaserIssued$",
                "^lending\\.[a-zA-Z-]+\\.issueChaser\\.overdueChaserIssued$",
                "^lending\\.[a-zA-Z-]+\\.issueOrder\\.paymentOrderIssued$",
                "^lending\\.[a-zA-Z-]+\\.set\\.dormancySet$",
                "^lending\\.[a-zA-Z-]+\\.preGrace\\.overduePreGrace$",
                "^lending\\.[a-zA-Z-]+\\.prenotice\\.loanPrenotice$",
                "^lending\\.[a-zA-Z-]+\\.recordEvent\\.eventRecorded$",
                "^lending\\.[a-zA-Z-]+\\.residual\\.accountResidual$",
                "^lending\\.[a-zA-Z-]+\\.restructure\\.balanceMaintenanceRestructured$",
                "^lending\\.[a-zA-Z-]+\\.resume\\.loanResumed$",
                "^lending\\.[a-zA-Z-]+\\.initiateDormancyCharge\\.dormancyChargeInitiated$",
                "^lending\\.[a-zA-Z-]+\\.splitRollover\\.loanSplitted$",
                "^lending\\.[a-zA-Z-]+\\.startRestriction\\.restrictionStarts$",
                "^lending\\.[a-zA-Z-]+\\.subscribeAlerts\\.alertsSubscribed$",
                "^lending\\.[a-zA-Z-]+\\.payinSuspense\\.suspensePaid$",
                "^lending\\.[a-zA-Z-]+\\.reviewEligibility\\.eligibilityReviewed$",
                "^lending\\.[a-zA-Z-]+\\.takeover\\.cashflowUpdated$",
                "^accounts\\.[a-zA-Z-]+\\.credit\\.transactionExecuted$",
                "^accounts\\.[a-zA-Z-]+\\.debit\\.transactionExecuted$",
                "^accounts\\.[a-zA-Z-]+\\.payinSuspense\\.suspensePaid$",
                "^accounts\\.[a-zA-Z-]+\\.capitalisePeriodicCharge\\.periodicChargeCapitalised$",
                "^deposits\\.[a-zA-Z-]+\\.credit\\.transactionExecuted$",
                "^deposits\\.[a-zA-Z-]+\\.debit\\.transactionExecuted$",
                "^deposits\\.[a-zA-Z-]+\\.payin\\.transactionExecuted$",
                "^deposits\\.[a-zA-Z-]+\\.payinSuspense\\.suspensePaid$",
                "^deposits\\.[a-zA-Z-]+\\.capitalisePeriodicCharge\\.periodicChargeCapitalised$",
                "^lending\\.[a-zA-Z-]+\\.payin\\.transactionExecuted$",
                "^lending\\.[a-zA-Z-]+\\.payout\\.transactionExecuted$",
                "^externalfinancial\\.[a-zA-Z-]+\\.credit\\.transactionExecuted$",
                "^externalfinancial\\.[a-zA-Z-]+\\.debit\\.transactionExecuted$",
                "^externalfinancial\\.[a-zA-Z-]+\\.updateBalance\\.transactionExecuted$",
                "^accounts\\.[a-zA-Z-]+\\.payout\\.transactionExecuted$",
                "^deposits\\.[a-zA-Z-]+\\.payout\\.transactionExecuted$",
                "^lending\\.[a-zA-Z-]+\\.payoutTransaction\\.transactionExecuted$",
                "^lending\\.[a-zA-Z-]+\\.disburse\\.transactionExecuted$",
                "^lending\\.[a-zA-Z-]+\\.writeOff\\.loanWrittenOff$",
                "^lending\\.[a-zA-Z-]+\\.writeOffBalance\\.balanceWrittenOff$",
                "^accounts\\.[a-zA-Z-]+\\.assessPricing\\.pricingAssessed$",
                "^accounts\\.[a-zA-Z-]+\\.updateCondition\\.conditionUpdated$",
                "^accounts\\.[a-zA-Z-]+\\.modifyVariation\\.variationModified$",
                "^accounts\\.[a-zA-Z-]+\\.createAccount\\.accountCreated$",
                "^accounts\\.[a-zA-Z-]+\\.planReset\\.resetPlanned$",
                "^accounts\\.[a-zA-Z-]+\\.renegotiate\\.accountRenegotiated$",
                "^accounts\\.[a-zA-Z-]+\\.restoreAccount\\.accountRestored$",
                "^accounts\\.[a-zA-Z-]+\\.takeover\\.accountCreated$",
                "^accounts\\.[a-zA-Z-]+\\.newOffer\\.accountOffered$",
                "^deposits\\.[a-zA-Z-]+\\.updateCondition\\.conditionUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.modifyVariation\\.variationModified$",
                "^deposits\\.[a-zA-Z-]+\\.createDeposit\\.depositCreated$",
                "^deposits\\.[a-zA-Z-]+\\.planReset\\.resetPlanned$",
                "^deposits\\.[a-zA-Z-]+\\.renegotiate\\.depositRenegotiated$",
                "^deposits\\.[a-zA-Z-]+\\.takeover\\.depositCreated$",
                "^deposits\\.[a-zA-Z-]+\\.assessPricing\\.pricingAssessed$",
                "^lending\\.[a-zA-Z-]+\\.assessPricing\\.pricingAssessed$",
                "^lending\\.[a-zA-Z-]+\\.updateCondition\\.conditionUpdated$",
                "^lending\\.[a-zA-Z-]+\\.modifyVariation\\.variationModified$",
                "^lending\\.[a-zA-Z-]+\\.createLoan\\.loanCreated$",
                "^lending\\.[a-zA-Z-]+\\.rollover\\.loanRolledOver$",
                "^lending\\.[a-zA-Z-]+\\.newOffer\\.loanOfferred$",
                "^lending\\.[a-zA-Z-]+\\.planReset\\.resetPlanned$",
                "^lending\\.[a-zA-Z-]+\\.renegotiate\\.loanRenegotiated$",
                "^lending\\.[a-zA-Z-]+\\.renegotiateOffer\\.loanOfferRenegotiated$",
                "^lending\\.[a-zA-Z-]+\\.restructure\\.loanRestructured$",
                "^lending\\.[a-zA-Z-]+\\.takeover\\.loanCreated$",
                "^external\\.[a-zA-Z-]+\\.createAccount\\.externalCreated$",
                "^externalfinancial\\.[a-zA-Z-]+\\.createAccount\\.externalfinancialCreated$",
                "^accounts\\.[a-zA-Z-]+\\.changeProduct\\.productChanged$",
                "^deposits\\.[a-zA-Z-]+\\.changeProduct\\.productChanged$",
                "^lending\\.[a-zA-Z-]+\\.changeProduct\\.productChanged$",
                "^accounts\\.[a-zA-Z-]+\\.modifyBranch\\.branchModified$",
                "^deposits\\.[a-zA-Z-]+\\.modifyBranch\\.branchModified$",
                "^lending\\.[a-zA-Z-]+\\.modifyBranch\\.branchModified$",
                "^accounts\\.[a-zA-Z-]+\\.modifyChannel\\.channelModified$",
                "^deposits\\.[a-zA-Z-]+\\.modifyChannel\\.channelModified$",
                "^lending\\.[a-zA-Z-]+\\.modifyChannel\\.channelModified$",
                "^accounts\\.[a-zA-Z-]+\\.modifyLOB\\.lobModified$",
                "^deposits\\.[a-zA-Z-]+\\.modifyLOB\\.lobModified$",
                "^lending\\.[a-zA-Z-]+\\.modifyLOB\\.lobModified$",
                "^accounts\\.[a-zA-Z-]+\\.produceStatement\\.statementProduced$",
                "^deposits\\.[a-zA-Z-]+\\.produceStatement\\.statementProduced$",
                "^lending\\.[a-zA-Z-]+\\.produceStatement\\.statementProduced$",
                "^accounts\\.[a-zA-Z-]+\\.requestStatement\\.statementrequested$",
                "^deposits\\.[a-zA-Z-]+\\.modifyTenor\\.tenorModified$",
                "^accounts\\.[a-zA-Z-]+\\.adjustDue\\.billDueAdjusted$",
                "^accounts\\.[a-zA-Z-]+\\.deferMakeDueSchedule\\.makeDueScheduleDeferred$",
                "^deposits\\.[a-zA-Z-]+\\.makeDue\\.billMadeDue$",
                "^accounts\\.[a-zA-Z-]+\\.makeDue\\.billMadeDue$",
                "^deposits\\.[a-zA-Z-]+\\.deferMakeDueSchedule\\.makeDueScheduleDeferred$",
                "^lending\\.[a-zA-Z-]+\\.adjustAllBalance\\.allBalanceAdjusted$",
                "^lending\\.[a-zA-Z-]+\\.adjustBill\\.billAdjusted$",
                "^lending\\.[a-zA-Z-]+\\.age\\.overdueAged$",
                "^lending\\.[a-zA-Z-]+\\.chargeOffLoan\\.loanChargeOff$",
                "^lending\\.[a-zA-Z-]+\\.makeDue\\.billMadeDue$",
                "^accounts\\.[a-zA-Z-]+\\.adjustAllBalance\\.allBalanceAdjusted$",
                "^accounts\\.[a-zA-Z-]+\\.adjustBill\\.billAdjusted$",
                "^accounts\\.[a-zA-Z-]+\\.cancelNoticeWithdrawal\\.noticeCancelled$",
                "^accounts\\.[a-zA-Z-]+\\.cancelPayoff\\.payoffBillCancelled$",
                "^accounts\\.[a-zA-Z-]+\\.createNoticeWithdrawal\\.noticeCreated$",
                "^accounts\\.[a-zA-Z-]+\\.captureBill\\.billCaptured$",
                "^accounts\\.[a-zA-Z-]+\\.captureLegacyBill\\.billCaptured$",
                "^accounts\\.[a-zA-Z-]+\\.updateNoticeWithdrawal\\.noticeUpdated$",
                "^accounts\\.[a-zA-Z-]+\\.collectCharge\\.chargeCollected$",
                "^accounts\\.[a-zA-Z-]+\\.collectPeriodicCharge\\.periodicChargeCollected$",
                "^accounts\\.[a-zA-Z-]+\\.deferMakeDuePeriodicCharge\\.makeDuePeriodicChargeDeferred$",
                "^accounts\\.[a-zA-Z-]+\\.makeDueNotice\\.noticeMadeDue$",
                "^accounts\\.[a-zA-Z-]+\\.expireNotice\\.noticeExpired$",
                "^accounts\\.[a-zA-Z-]+\\.issueBill\\.billIssued$",
                "^accounts\\.[a-zA-Z-]+\\.makeDueCharge\\.billMadeDue$",
                "^accounts\\.[a-zA-Z-]+\\.resume\\.accountResumed$",
                "^accounts\\.[a-zA-Z-]+\\.IssueNotice\\.noticeIssued$",
                "^deposits\\.[a-zA-Z-]+\\.adjustBill\\.billAdjusted$",
                "^deposits\\.[a-zA-Z-]+\\.cancelNoticeWithdrawal\\.noticeCancelled$",
                "^deposits\\.[a-zA-Z-]+\\.age\\.overdueAged$",
                "^deposits\\.[a-zA-Z-]+\\.createNoticeWithdrawal\\.noticeCreated$",
                "^deposits\\.[a-zA-Z-]+\\.captureBill\\.billCaptured$",
                "^deposits\\.[a-zA-Z-]+\\.collectCharge\\.chargeCollected$",
                "^deposits\\.[a-zA-Z-]+\\.deferMakeDuePeriodicCharge\\.makeDuePeriodicChargeDeferred$",
                "^deposits\\.[a-zA-Z-]+\\.makeDueNotice\\.noticeMadeDue$",
                "^deposits\\.[a-zA-Z-]+\\.expireNotice\\.noticeExpired$",
                "^deposits\\.[a-zA-Z-]+\\.finaliseBill\\.billFinalised$",
                "^deposits\\.[a-zA-Z-]+\\.collectPeriodicCharge\\.periodicChargeCollected$",
                "^deposits\\.[a-zA-Z-]+\\.issueBill\\.billIssued$",
                "^deposits\\.[a-zA-Z-]+\\.makeDueCharge\\.billMadeDue$",
                "^deposits\\.[a-zA-Z-]+\\.adjustAllBalance\\.allBalanceAdjusted$",
                "^lending\\.[a-zA-Z-]+\\.infoAdjustBill\\.infoBillAdjusted$",
                "^lending\\.[a-zA-Z-]+\\.cancelPayoff\\.payoffBillCancelled$",
                "^lending\\.[a-zA-Z-]+\\.captureBill\\.billCaptured$",
                "^lending\\.[a-zA-Z-]+\\.chargeOffAccount\\.accountChargeOff$",
                "^lending\\.[a-zA-Z-]+\\.collectCharge\\.chargeCollected$",
                "^lending\\.[a-zA-Z-]+\\.expireBill\\.billExpired$",
                "^lending\\.[a-zA-Z-]+\\.finaliseBill\\.billFinalised$",
                "^lending\\.[a-zA-Z-]+\\.collectPeriodicCharge\\.periodicChargeCollected$",
                "^lending\\.[a-zA-Z-]+\\.issueBill\\.billIssued$",
                "^lending\\.[a-zA-Z-]+\\.makeDueCharge\\.billMadeDue$",
                "^lending\\.[a-zA-Z-]+\\.makeDue\\.disburseBillMadeDue$",
                "^lending\\.[a-zA-Z-]+\\.reset\\.overdueReset$",
                "^lending\\.[a-zA-Z-]+\\.trancheStart\\.trancheStarts$",
                "^lending\\.[a-zA-Z-]+\\.writeOffBill\\.billWrittenOff$",
                "^accounts\\.[a-zA-Z-]+\\.issuePayoff\\.payoffBillIssued$",
                "^lending\\.[a-zA-Z-]+\\.issuePayoff\\.payoffBillIssued$",
                "^accounts\\.[a-zA-Z-]+\\.updateParty\\.partyUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.updateParty\\.partyUpdated$",
                "^lending\\.[a-zA-Z-]+\\.updateParty\\.partyUpdated$",
                "^accounts\\.[a-zA-Z-]+\\.updateFacility\\.facilityUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.updateFacility\\.facilityUpdated$",
                "^lending\\.[a-zA-Z-]+\\.updateFacility\\.facilityUpdated$",
                "^accounts\\.[a-zA-Z-]+\\.updateInterest\\.interestUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.updateInterest\\.interestUpdated$",
                "^lending\\.[a-zA-Z-]+\\.update\\.interestUpdated$",
                "^lending\\.[a-zA-Z-]+\\.evaluate\\.gridEvaluated$",
                "^lending\\.[a-zA-Z-]+\\.reset\\.periodicRateReset$",
                "^accounts\\.[a-zA-Z-]+\\.updateLimit\\.limitUpdated$",
                "^lending\\.[a-zA-Z-]+\\.updateLimit\\.limitUpdated$",
                "^accounts\\.[a-zA-Z-]+\\.updateOfficer\\.officerUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.updateOfficer\\.officerUpdated$",
                "^lending\\.[a-zA-Z-]+\\.updateOfficer\\.officerUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.updatePaymentHoliday\\.paymentHolidayUpdated$",
                "^lending\\.[a-zA-Z-]+\\.updatePaymentHoliday\\.paymentHolidayUpdated$",
                "^accounts\\.[a-zA-Z-]+\\.updateSchedule\\.scheduleUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.updateSchedule\\.scheduleUpdated$",
                "^lending\\.[a-zA-Z-]+\\.updateSchedule\\.scheduleUpdated$",
                "^lending\\.[a-zA-Z-]+\\.calculateProgressivePayment\\.progressivePaymentCalculated$",
                "^accounts\\.[a-zA-Z-]+\\.pricing\\.chargeCalculate$",
                "^accounts\\.[a-zA-Z-]+\\.updateSettlement\\.settlementUpdated$",
                "^deposits\\.[a-zA-Z-]+\\.updateSettlement\\.settlementUpdated$",
                "^lending\\.[a-zA-Z-]+\\.updateSettlement\\.settlementUpdated$",
                "^lending\\.[a-zA-Z-]+\\.modifyTenor\\.tenorModified$",
                "^lending\\.[a-zA-Z-]+\\.modifyCommitment\\.commitmentModified$",
                "^lending\\.[a-zA-Z-]+\\.updateTerm\\.termUpdated$",
                "^financialAccounting\\.updateAccountingJournalEntries\\.accountingJournalEntriesUpdated$",
                "^financialAccounting\\.updateContractBalances\\.contractBalancesUpdated$",
                "^product\\.createProduct\\.productPublished$"
            ]
        },
        "configType": "json"
    }
}
The value of config ID is derived from the configurations present in the ingester pod of the HMS (temn.msf.name=ms-holdings and temn.msf.service=EventHandler).
  • Event types can be specified exactly like accounts.current-accounts.updateAccount.accountUpdated.
  • The Java regular expressions can also be used to configure the valid event types. For example, ^accounts\\.[a-zA-Z-]+\\.updateAccount\\.accountUpdated$, this allows to configure accounts.current-accounts.updateAccount.accountUpdated and accounts.savings-accounts.updateAccount.accountUpdated.
Sample Response
{
	"id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
	"name": "com.temenos.microservice.ms-holdings.EventHandler",
	"version": "2.0.0"
}
Restart the Holdings Ingester container pod if the data filter types are updated in Generic Config MS.

Configuring HMS

The table below defines the variables in the HMS Ingester pod to control the event filter mechanism in the respective ingesters in the Azure portal.

Variable Value Description
temn.msf.app.ingester.executor.eventProcessor.eventfiltering false/true Enables or disables event filter for FCBE
temn.msf.app.ingester.executor.transactOutbox.eventfiltering false/true Enables or disables event filter for Data Events
temn.msf.app.ingester.executor.tpmIngester.eventfiltering false/true Enables or disables event filter for TPM events
temn.msf.app.ingester.executor.transact.eventfiltering false/true Enables or disables event filter for DES events

By default, the value is false, which indicates all the events are processed without filtration.

Copyright © 2020- Temenos Headquarters SA

Published on :
Tuesday, September 2, 2025 1:05:32 PM IST