From 45a041b0230da5abda0b29faa2aabd44aca5578e Mon Sep 17 00:00:00 2001 From: Aditya Date: Fri, 15 May 2026 17:41:55 +0530 Subject: [PATCH] Add Google Authenticator (TOTP) as MFA factor: device mapping + login MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Backend: - New dependency dev.samstevens.totp:totp:1.7.1 (bundles ZXing for QR PNG). - TotpService: secret/QR/otpauth-URL/verify primitives. SHA1, 6 digits, 30s — the standard combo every consumer authenticator app accepts unconfigured. Issuer label is configurable via FINERACT_MFA_TOTP_ISSUER, defaults to "CBSnexora". - Two-step device mapping driven by TotpEnrollmentService: * POST /v1/mfa/totp/setup — generate secret, upsert m_user_mfa_factor row as factor_type=TOTP/verified=false, return {secret, qrDataUri, otpAuthUrl, issuer, factorId}. Refuses to overwrite an already-verified-and-active factor so an accidental click can't unbind the user's working device. * POST /v1/mfa/totp/verify — body {code}; verify against the stored secret and flip verified=true on success. - Login wiring in MfaFactorBackedTwoFactorServiceImpl: * getDeliveryMethodsForUser surfaces verified TOTP factors as {name:"totp", target:"Google Authenticator"} so the picker offers it alongside SMS/EMAIL. * createNewOTPToken("totp") creates a no-op OTPRequest (no LincPay/SMTP round-trip) carrying the factor id in the token field so validate can look up the secret. * createAccessTokenFromOTP branches on channel — TOTP path verifies code vs factor.secret with totp library (sliding 1-step window) and mints a TFAccessToken with the same lifetime + extended-token logic as OTP. * Defence-in-depth: re-checks at validate time that the factor still belongs to the user, is verified, and not disabled. - TwoFactorConstants.TOTP_DELIVERY_METHOD_NAME = "totp". - SecurityConfig: /api/*/mfa/totp/** is fullyAuthenticated() (exempt from the TFA gate so users can enrol before they can satisfy 2FA). UI changes pending (see chat): add a "Google Authenticator" tile on the MFA Factors settings page that calls /setup → shows QR + secret → calls /verify; extend two-factor-authentication.component.ts iconFor() and copy for the new "totp" delivery method. Existing requestOTP / validateOTP pipeline handles the login flow transparently. Co-Authored-By: Claude Opus 4.7 (1M context) --- .claude/settings.local.json | 6 +- fineract-provider/dependencies.gradle | 4 + fineract-provider/logs/fineract.log | 2659 +++++++++++++++++ .../core/config/SecurityConfig.java | 5 + .../MfaFactorBackedTwoFactorServiceImpl.java | 83 +- .../totp/api/TotpEnrollmentApiResource.java | 93 + .../mfa/totp/data/TotpSetupResponse.java | 51 + .../totp/service/TotpEnrollmentService.java | 151 + .../mfa/totp/service/TotpService.java | 106 + .../constants/TwoFactorConstants.java | 5 + 10 files changed, 3150 insertions(+), 13 deletions(-) create mode 100644 fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/api/TotpEnrollmentApiResource.java create mode 100644 fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/data/TotpSetupResponse.java create mode 100644 fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/service/TotpEnrollmentService.java create mode 100644 fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/service/TotpService.java diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 3cb14623e..dda972ec1 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -48,7 +48,11 @@ "PowerShell(Get-Process -Id 9340 -ErrorAction SilentlyContinue | Select-Object Id, ProcessName, StartTime, @{Name='MemMB';Expression={[math]::Round\\($_.WorkingSet64/1MB,0\\)}}, Path | Format-List)", "Bash(git -c core.editor=true rebase --continue)", "Bash(git rebase *)", - "Bash(rm -rf .git/rebase-merge; git status -sb | head -3)" + "Bash(rm -rf .git/rebase-merge; git status -sb | head -3)", + "Bash(git -c commit.gpgsign=false commit -m ' *)", + "Bash(git pull *)", + "Bash(./gradlew :fineract-security:compileJava :fineract-provider:compileJava -q)", + "Bash(git ls-remote *)" ], "additionalDirectories": [ "c:\\Users\\adity\\Music\\CBS\\cfcfrms-bank-api", diff --git a/fineract-provider/dependencies.gradle b/fineract-provider/dependencies.gradle index ee2da3b03..fdf62fe1f 100644 --- a/fineract-provider/dependencies.gradle +++ b/fineract-provider/dependencies.gradle @@ -95,6 +95,10 @@ dependencies { 'com.squareup.okhttp3:okhttp', 'com.squareup.okhttp3:okhttp-urlconnection', + // TOTP (Google Authenticator) — secret generation, QR code data URI, code verification. + // Bundles ZXing transitively for QR PNG output (used by ZxingPngQrGenerator). + 'dev.samstevens.totp:totp:1.7.1', + 'org.apache.commons:commons-lang3', 'commons-io:commons-io', 'org.apache.poi:poi', diff --git a/fineract-provider/logs/fineract.log b/fineract-provider/logs/fineract.log index 1ddaf89c3..94b6f4870 100644 --- a/fineract-provider/logs/fineract.log +++ b/fineract-provider/logs/fineract.log @@ -976,3 +976,2662 @@ org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: e 2026-05-15 11:26:00.040 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] 2026-05-15 11:26:00.041 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms 2026-05-15 11:26:00.047 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14282, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 18ms +2026-05-15 11:27:00.020 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14283, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:27:00.023 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:27:00.025 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:27:00.028 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14283, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 11:28:00.018 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14284, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:28:00.022 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:28:00.024 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:28:00.027 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14284, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 11:29:00.013 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14285, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:29:00.016 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:29:00.019 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 11:29:00.021 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14285, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 11:30:00.026 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1581, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:30:00.030 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 11:30:00.046 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 15ms +2026-05-15 11:30:00.050 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1581, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 20ms +2026-05-15 11:30:00.058 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1096, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:30:00.058 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14286, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:30:00.058 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1095, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:30:00.066 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:30:00.066 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 11:30:00.066 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 11:30:00.069 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 11:30:00.073 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14286, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 11:30:00.075 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 9ms +2026-05-15 11:30:00.075 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 9ms +2026-05-15 11:30:00.079 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1096, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 19ms +2026-05-15 11:30:00.079 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1095, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 20ms +2026-05-15 11:31:00.021 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14287, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:31:00.023 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:31:00.026 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 11:31:00.028 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14287, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 11:32:00.015 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14288, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:32:00.018 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:32:00.022 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:32:00.027 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14288, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 11:33:00.014 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14289, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:33:00.018 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:33:00.020 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:33:00.024 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14289, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 11:34:00.029 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14290, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:34:00.035 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:34:00.041 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms +2026-05-15 11:34:00.047 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14290, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms +2026-05-15 11:35:00.022 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14291, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:35:00.026 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:35:00.029 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 11:35:00.032 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14291, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 11:36:00.070 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14292, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:36:00.082 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:36:00.088 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms +2026-05-15 11:36:00.093 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14292, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 19ms +2026-05-15 11:37:00.074 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14293, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:37:00.094 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:37:00.094 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 11:37:00.094 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14293, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 19ms +2026-05-15 11:38:00.022 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14294, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:38:00.025 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:38:00.027 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:38:00.030 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14294, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 11:39:00.012 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14295, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:39:00.015 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:39:00.019 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:39:00.022 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14295, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 11:40:00.024 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1582, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:40:00.025 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14296, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:40:00.033 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 11:40:00.033 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:40:00.037 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 11:40:00.041 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14296, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms +2026-05-15 11:40:00.052 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 18ms +2026-05-15 11:40:00.055 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1582, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 30ms +2026-05-15 11:41:00.192 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14297, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:41:00.218 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:41:00.235 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 15ms +2026-05-15 11:41:00.244 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14297, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 38ms +2026-05-15 11:42:00.229 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14298, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:42:00.262 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:42:00.281 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 17ms +2026-05-15 11:42:00.289 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14298, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 39ms +2026-05-15 11:43:00.125 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14299, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:43:00.149 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:43:00.160 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 10ms +2026-05-15 11:43:00.167 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14299, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 31ms +2026-05-15 11:44:00.041 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14300, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:44:00.049 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:44:00.055 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms +2026-05-15 11:44:00.061 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14300, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 17ms +2026-05-15 11:45:00.213 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1097, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:45:00.213 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1096, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:45:00.213 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14301, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:45:00.248 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 11:45:00.249 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:45:00.249 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 11:45:00.268 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 17ms +2026-05-15 11:45:00.275 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 25ms +2026-05-15 11:45:00.278 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 29ms +2026-05-15 11:45:00.278 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14301, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 47ms +2026-05-15 11:45:00.282 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1096, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 51ms +2026-05-15 11:45:00.285 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1097, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 54ms +2026-05-15 11:46:00.160 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14302, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:46:00.187 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:46:00.205 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 16ms +2026-05-15 11:46:00.216 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14302, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 40ms +2026-05-15 11:47:00.023 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14303, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:47:00.027 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:47:00.030 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:47:00.033 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14303, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 11:48:00.013 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14304, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:48:00.018 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:48:00.020 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:48:00.024 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14304, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 11:49:00.018 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14305, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:49:00.022 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:49:00.024 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:49:00.027 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14305, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 11:50:00.017 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14306, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:50:00.020 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1583, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:50:00.021 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:50:00.024 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:50:00.025 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 11:50:00.026 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14306, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 11:50:00.042 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 17ms +2026-05-15 11:50:00.045 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1583, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 23ms +2026-05-15 11:51:00.017 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14307, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:51:00.021 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:51:00.023 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:51:00.025 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14307, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 5ms +2026-05-15 11:52:00.019 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14308, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:52:00.023 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:52:00.025 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 11:52:00.028 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14308, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 11:53:00.015 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14309, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:53:00.018 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:53:00.021 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:53:00.023 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14309, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 11:54:00.024 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14310, type=class java.lang.Long, identifying=true}'}] +2026-05-15 11:54:00.029 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 11:54:00.032 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 11:54:00.035 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14310, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 12:49:05.206 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Send Asynchronous EventsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Fri May 15 11:55:00 IST 2026 +2026-05-15 12:49:05.254 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Apply Holidays To LoansTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Fri May 15 12:00:00 IST 2026 +2026-05-15 12:49:05.254 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Execute EmailTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Fri May 15 12:00:00 IST 2026 +2026-05-15 12:49:05.254 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Execute Report Mailing JobsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Fri May 15 12:00:00 IST 2026 +2026-05-15 12:49:05.254 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Fetch RBI RSS FeedsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Fri May 15 12:00:00 IST 2026 +2026-05-15 12:49:05.255 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Generate AdhocClient ScheduleTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Fri May 15 12:00:00 IST 2026 +2026-05-15 12:49:05.255 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Pay Due Savings ChargesTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Fri May 15 12:00:00 IST 2026 +2026-05-15 12:49:05.255 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Update Email Outbound with campaign messageTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Fri May 15 12:00:00 IST 2026 +2026-05-15 12:49:05.304 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=FETCH_RBI_RSS_FEEDS]] launched with the following parameters: [{'run.id':'{value=81, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:49:05.305 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14311, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:49:05.306 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1584, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:49:05.306 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1098, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:49:05.308 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=GENERATE_ADHOC_CLIENT_SCHEDULE]] launched with the following parameters: [{'run.id':'{value=33, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:49:05.316 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=APPLY_HOLIDAYS_TO_LOANS]] launched with the following parameters: [{'run.id':'{value=33, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:49:05.316 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=PAY_DUE_SAVINGS_CHARGES]] launched with the following parameters: [{'run.id':'{value=33, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:49:05.317 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 12:49:05.318 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 12:49:05.319 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 12:49:05.320 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [FETCH_RBI_RSS_FEEDS] +2026-05-15 12:49:05.320 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 12:49:05.324 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 5ms +2026-05-15 12:49:05.324 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14311, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 17ms +2026-05-15 12:49:05.325 INFO [Scheduler1_Worker-5] o.a.f.i.r.j.f.FetchRbiFeedsTasklet : Starting RBI RSS feed fetch job... +2026-05-15 12:49:05.333 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 13ms +2026-05-15 12:49:05.333 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1584, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 22ms +2026-05-15 12:49:05.334 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [APPLY_HOLIDAYS_TO_LOANS] +2026-05-15 12:49:05.334 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [GENERATE_ADHOC_CLIENT_SCHEDULE] +2026-05-15 12:49:05.334 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [PAY_DUE_SAVINGS_CHARGES] +2026-05-15 12:49:05.335 INFO [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Starting fetch for all 5 feed categories +2026-05-15 12:49:05.335 DEBUG [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/pressreleases_rss.xml +2026-05-15 12:49:05.343 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1098, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 31ms +2026-05-15 12:49:05.377 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [GENERATE_ADHOC_CLIENT_SCHEDULE] executed in 42ms +2026-05-15 12:49:05.379 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [APPLY_HOLIDAYS_TO_LOANS] executed in 44ms +2026-05-15 12:49:05.383 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [PAY_DUE_SAVINGS_CHARGES] executed in 47ms +2026-05-15 12:49:05.384 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=APPLY_HOLIDAYS_TO_LOANS]] completed with the following parameters: [{'run.id':'{value=33, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 58ms +2026-05-15 12:49:05.384 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=GENERATE_ADHOC_CLIENT_SCHEDULE]] completed with the following parameters: [{'run.id':'{value=33, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 59ms +2026-05-15 12:49:05.387 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1097, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:49:05.388 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=PAY_DUE_SAVINGS_CHARGES]] completed with the following parameters: [{'run.id':'{value=33, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 62ms +2026-05-15 12:49:05.393 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 12:49:05.402 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 8ms +2026-05-15 12:49:05.410 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1097, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 19ms +2026-05-15 12:49:05.474 ERROR [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Failed to fetch for category: PRESS_RELEASE from URL: https://rbi.org.in/pressreleases_rss.xml +java.net.ConnectException: null + at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:955) + at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService.fetchAndStoreFeed(RbiFeedFetchService.java:117) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService.fetchAndStoreAllFeeds(RbiFeedFetchService.java:89) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService$$SpringCGLIB$$0.fetchAndStoreAllFeeds() + at org.apache.fineract.infrastructure.rbifeed.jobs.fetchrbifeeds.FetchRbiFeedsTasklet.execute(FetchRbiFeedsTasklet.java:40) + at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:383) + at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:307) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:250) + at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82) + at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:369) + at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:206) + at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:140) + at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:235) + at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:230) + at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:153) + at org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:408) + at org.springframework.batch.core.job.SimpleJob.doExecute(SimpleJob.java:127) + at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:307) + at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher$1.run(TaskExecutorJobLauncher.java:155) + at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50) + at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher.run(TaskExecutorJobLauncher.java:146) + at org.apache.fineract.infrastructure.jobs.service.JobStarter.run(JobStarter.java:106) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:286) + at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:269) + at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) + at org.quartz.core.JobRunShell.run(JobRunShell.java:203) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:566) +Caused by: java.net.ConnectException: null + at java.net.http/jdk.internal.net.http.common.Utils.toConnectException(Utils.java:1065) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:227) + at java.net.http/jdk.internal.net.http.AsyncSSLConnection.connectAsync(AsyncSSLConnection.java:56) + at java.net.http/jdk.internal.net.http.Http2Connection.createAsync(Http2Connection.java:529) + at java.net.http/jdk.internal.net.http.Http2ClientImpl.getConnectionFor(Http2ClientImpl.java:140) + at java.net.http/jdk.internal.net.http.ExchangeImpl.get(ExchangeImpl.java:98) + at java.net.http/jdk.internal.net.http.Exchange.establishExchange(Exchange.java:391) + at java.net.http/jdk.internal.net.http.Exchange.responseAsyncImpl0(Exchange.java:584) + at java.net.http/jdk.internal.net.http.Exchange.responseAsyncImpl(Exchange.java:428) + at java.net.http/jdk.internal.net.http.Exchange.responseAsync(Exchange.java:420) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:435) + at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(MultiExchange.java:477) + at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934) + at java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:950) + at java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2372) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:467) + at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsync0$2(MultiExchange.java:355) + at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) + at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) + at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) + at java.net.http/jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:177) + at java.base/java.util.concurrent.CompletableFuture.completeAsync(CompletableFuture.java:2719) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsync(MultiExchange.java:308) + at java.net.http/jdk.internal.net.http.HttpClientImpl.sendAsync(HttpClientImpl.java:1053) + at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:933) + ... 39 common frames omitted +Caused by: java.nio.channels.UnresolvedAddressException: null + at java.base/sun.nio.ch.Net.checkAddress(Net.java:137) + at java.base/sun.nio.ch.Net.checkAddress(Net.java:145) + at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:842) + at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:865) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.lambda$connectAsync$1(PlainHttpConnection.java:210) + at java.base/java.security.AccessController.doPrivileged(AccessController.java:571) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:212) + ... 62 common frames omitted +2026-05-15 12:49:05.527 DEBUG [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/notifications_rss.xml +2026-05-15 12:49:05.535 ERROR [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Failed to fetch for category: NOTIFICATION from URL: https://rbi.org.in/notifications_rss.xml +java.net.ConnectException: null + at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:955) + at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService.fetchAndStoreFeed(RbiFeedFetchService.java:117) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService.fetchAndStoreAllFeeds(RbiFeedFetchService.java:89) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService$$SpringCGLIB$$0.fetchAndStoreAllFeeds() + at org.apache.fineract.infrastructure.rbifeed.jobs.fetchrbifeeds.FetchRbiFeedsTasklet.execute(FetchRbiFeedsTasklet.java:40) + at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:383) + at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:307) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:250) + at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82) + at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:369) + at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:206) + at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:140) + at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:235) + at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:230) + at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:153) + at org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:408) + at org.springframework.batch.core.job.SimpleJob.doExecute(SimpleJob.java:127) + at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:307) + at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher$1.run(TaskExecutorJobLauncher.java:155) + at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50) + at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher.run(TaskExecutorJobLauncher.java:146) + at org.apache.fineract.infrastructure.jobs.service.JobStarter.run(JobStarter.java:106) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:286) + at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:269) + at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) + at org.quartz.core.JobRunShell.run(JobRunShell.java:203) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:566) +Caused by: java.net.ConnectException: null + at java.net.http/jdk.internal.net.http.common.Utils.toConnectException(Utils.java:1065) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:227) + at java.net.http/jdk.internal.net.http.AsyncSSLConnection.connectAsync(AsyncSSLConnection.java:56) + at java.net.http/jdk.internal.net.http.Http2Connection.createAsync(Http2Connection.java:529) + at java.net.http/jdk.internal.net.http.Http2ClientImpl.getConnectionFor(Http2ClientImpl.java:140) + at java.net.http/jdk.internal.net.http.ExchangeImpl.get(ExchangeImpl.java:98) + at java.net.http/jdk.internal.net.http.Exchange.establishExchange(Exchange.java:391) + at java.net.http/jdk.internal.net.http.Exchange.responseAsyncImpl0(Exchange.java:584) + at java.net.http/jdk.internal.net.http.Exchange.responseAsyncImpl(Exchange.java:428) + at java.net.http/jdk.internal.net.http.Exchange.responseAsync(Exchange.java:420) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:435) + at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(MultiExchange.java:477) + at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934) + at java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:950) + at java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2372) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:467) + at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsync0$2(MultiExchange.java:355) + at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) + at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) + at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) + at java.net.http/jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:177) + at java.base/java.util.concurrent.CompletableFuture.completeAsync(CompletableFuture.java:2719) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsync(MultiExchange.java:308) + at java.net.http/jdk.internal.net.http.HttpClientImpl.sendAsync(HttpClientImpl.java:1053) + at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:933) + ... 39 common frames omitted +Caused by: java.nio.channels.UnresolvedAddressException: null + at java.base/sun.nio.ch.Net.checkAddress(Net.java:137) + at java.base/sun.nio.ch.Net.checkAddress(Net.java:145) + at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:842) + at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:865) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.lambda$connectAsync$1(PlainHttpConnection.java:210) + at java.base/java.security.AccessController.doPrivileged(AccessController.java:571) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:212) + ... 62 common frames omitted +2026-05-15 12:49:05.536 DEBUG [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/speeches_rss.xml +2026-05-15 12:49:05.540 ERROR [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Failed to fetch for category: SPEECH from URL: https://rbi.org.in/speeches_rss.xml +java.net.ConnectException: null + at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:955) + at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService.fetchAndStoreFeed(RbiFeedFetchService.java:117) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService.fetchAndStoreAllFeeds(RbiFeedFetchService.java:89) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService$$SpringCGLIB$$0.fetchAndStoreAllFeeds() + at org.apache.fineract.infrastructure.rbifeed.jobs.fetchrbifeeds.FetchRbiFeedsTasklet.execute(FetchRbiFeedsTasklet.java:40) + at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:383) + at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:307) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:250) + at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82) + at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:369) + at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:206) + at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:140) + at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:235) + at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:230) + at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:153) + at org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:408) + at org.springframework.batch.core.job.SimpleJob.doExecute(SimpleJob.java:127) + at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:307) + at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher$1.run(TaskExecutorJobLauncher.java:155) + at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50) + at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher.run(TaskExecutorJobLauncher.java:146) + at org.apache.fineract.infrastructure.jobs.service.JobStarter.run(JobStarter.java:106) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:286) + at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:269) + at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) + at org.quartz.core.JobRunShell.run(JobRunShell.java:203) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:566) +Caused by: java.net.ConnectException: null + at java.net.http/jdk.internal.net.http.common.Utils.toConnectException(Utils.java:1065) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:227) + at java.net.http/jdk.internal.net.http.AsyncSSLConnection.connectAsync(AsyncSSLConnection.java:56) + at java.net.http/jdk.internal.net.http.Http2Connection.createAsync(Http2Connection.java:529) + at java.net.http/jdk.internal.net.http.Http2ClientImpl.getConnectionFor(Http2ClientImpl.java:140) + at java.net.http/jdk.internal.net.http.ExchangeImpl.get(ExchangeImpl.java:98) + at java.net.http/jdk.internal.net.http.Exchange.establishExchange(Exchange.java:391) + at java.net.http/jdk.internal.net.http.Exchange.responseAsyncImpl0(Exchange.java:584) + at java.net.http/jdk.internal.net.http.Exchange.responseAsyncImpl(Exchange.java:428) + at java.net.http/jdk.internal.net.http.Exchange.responseAsync(Exchange.java:420) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:435) + at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(MultiExchange.java:477) + at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934) + at java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:950) + at java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2372) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:467) + at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsync0$2(MultiExchange.java:355) + at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) + at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) + at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) + at java.net.http/jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:177) + at java.base/java.util.concurrent.CompletableFuture.completeAsync(CompletableFuture.java:2719) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsync(MultiExchange.java:308) + at java.net.http/jdk.internal.net.http.HttpClientImpl.sendAsync(HttpClientImpl.java:1053) + at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:933) + ... 39 common frames omitted +Caused by: java.nio.channels.UnresolvedAddressException: null + at java.base/sun.nio.ch.Net.checkAddress(Net.java:137) + at java.base/sun.nio.ch.Net.checkAddress(Net.java:145) + at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:842) + at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:865) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.lambda$connectAsync$1(PlainHttpConnection.java:210) + at java.base/java.security.AccessController.doPrivileged(AccessController.java:571) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:212) + ... 62 common frames omitted +2026-05-15 12:49:05.541 DEBUG [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/tenders_rss.xml +2026-05-15 12:49:05.546 ERROR [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Failed to fetch for category: TENDER from URL: https://rbi.org.in/tenders_rss.xml +java.net.ConnectException: null + at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:955) + at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService.fetchAndStoreFeed(RbiFeedFetchService.java:117) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService.fetchAndStoreAllFeeds(RbiFeedFetchService.java:89) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService$$SpringCGLIB$$0.fetchAndStoreAllFeeds() + at org.apache.fineract.infrastructure.rbifeed.jobs.fetchrbifeeds.FetchRbiFeedsTasklet.execute(FetchRbiFeedsTasklet.java:40) + at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:383) + at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:307) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:250) + at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82) + at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:369) + at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:206) + at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:140) + at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:235) + at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:230) + at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:153) + at org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:408) + at org.springframework.batch.core.job.SimpleJob.doExecute(SimpleJob.java:127) + at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:307) + at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher$1.run(TaskExecutorJobLauncher.java:155) + at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50) + at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher.run(TaskExecutorJobLauncher.java:146) + at org.apache.fineract.infrastructure.jobs.service.JobStarter.run(JobStarter.java:106) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:286) + at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:269) + at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) + at org.quartz.core.JobRunShell.run(JobRunShell.java:203) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:566) +Caused by: java.net.ConnectException: null + at java.net.http/jdk.internal.net.http.common.Utils.toConnectException(Utils.java:1065) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:227) + at java.net.http/jdk.internal.net.http.AsyncSSLConnection.connectAsync(AsyncSSLConnection.java:56) + at java.net.http/jdk.internal.net.http.Http2Connection.createAsync(Http2Connection.java:529) + at java.net.http/jdk.internal.net.http.Http2ClientImpl.getConnectionFor(Http2ClientImpl.java:140) + at java.net.http/jdk.internal.net.http.ExchangeImpl.get(ExchangeImpl.java:98) + at java.net.http/jdk.internal.net.http.Exchange.establishExchange(Exchange.java:391) + at java.net.http/jdk.internal.net.http.Exchange.responseAsyncImpl0(Exchange.java:584) + at java.net.http/jdk.internal.net.http.Exchange.responseAsyncImpl(Exchange.java:428) + at java.net.http/jdk.internal.net.http.Exchange.responseAsync(Exchange.java:420) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:435) + at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(MultiExchange.java:477) + at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934) + at java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:950) + at java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2372) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:467) + at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsync0$2(MultiExchange.java:355) + at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) + at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) + at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) + at java.net.http/jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:177) + at java.base/java.util.concurrent.CompletableFuture.completeAsync(CompletableFuture.java:2719) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsync(MultiExchange.java:308) + at java.net.http/jdk.internal.net.http.HttpClientImpl.sendAsync(HttpClientImpl.java:1053) + at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:933) + ... 39 common frames omitted +Caused by: java.nio.channels.UnresolvedAddressException: null + at java.base/sun.nio.ch.Net.checkAddress(Net.java:137) + at java.base/sun.nio.ch.Net.checkAddress(Net.java:145) + at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:842) + at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:865) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.lambda$connectAsync$1(PlainHttpConnection.java:210) + at java.base/java.security.AccessController.doPrivileged(AccessController.java:571) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:212) + ... 62 common frames omitted +2026-05-15 12:49:05.548 DEBUG [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/Publication_rss.xml +2026-05-15 12:49:05.553 ERROR [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Failed to fetch for category: PUBLICATION from URL: https://rbi.org.in/Publication_rss.xml +java.net.ConnectException: null + at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:955) + at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService.fetchAndStoreFeed(RbiFeedFetchService.java:117) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService.fetchAndStoreAllFeeds(RbiFeedFetchService.java:89) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) + at org.apache.fineract.infrastructure.rbifeed.service.RbiFeedFetchService$$SpringCGLIB$$0.fetchAndStoreAllFeeds() + at org.apache.fineract.infrastructure.rbifeed.jobs.fetchrbifeeds.FetchRbiFeedsTasklet.execute(FetchRbiFeedsTasklet.java:40) + at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:383) + at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:307) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:250) + at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82) + at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:369) + at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:206) + at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:140) + at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:235) + at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:230) + at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:153) + at org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:408) + at org.springframework.batch.core.job.SimpleJob.doExecute(SimpleJob.java:127) + at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:307) + at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher$1.run(TaskExecutorJobLauncher.java:155) + at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50) + at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher.run(TaskExecutorJobLauncher.java:146) + at org.apache.fineract.infrastructure.jobs.service.JobStarter.run(JobStarter.java:106) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:286) + at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:269) + at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) + at org.quartz.core.JobRunShell.run(JobRunShell.java:203) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:566) +Caused by: java.net.ConnectException: null + at java.net.http/jdk.internal.net.http.common.Utils.toConnectException(Utils.java:1065) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:227) + at java.net.http/jdk.internal.net.http.AsyncSSLConnection.connectAsync(AsyncSSLConnection.java:56) + at java.net.http/jdk.internal.net.http.Http2Connection.createAsync(Http2Connection.java:529) + at java.net.http/jdk.internal.net.http.Http2ClientImpl.getConnectionFor(Http2ClientImpl.java:140) + at java.net.http/jdk.internal.net.http.ExchangeImpl.get(ExchangeImpl.java:98) + at java.net.http/jdk.internal.net.http.Exchange.establishExchange(Exchange.java:391) + at java.net.http/jdk.internal.net.http.Exchange.responseAsyncImpl0(Exchange.java:584) + at java.net.http/jdk.internal.net.http.Exchange.responseAsyncImpl(Exchange.java:428) + at java.net.http/jdk.internal.net.http.Exchange.responseAsync(Exchange.java:420) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:435) + at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(MultiExchange.java:477) + at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934) + at java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:950) + at java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2372) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:467) + at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsync0$2(MultiExchange.java:355) + at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) + at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) + at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) + at java.net.http/jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:177) + at java.base/java.util.concurrent.CompletableFuture.completeAsync(CompletableFuture.java:2719) + at java.net.http/jdk.internal.net.http.MultiExchange.responseAsync(MultiExchange.java:308) + at java.net.http/jdk.internal.net.http.HttpClientImpl.sendAsync(HttpClientImpl.java:1053) + at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:933) + ... 39 common frames omitted +Caused by: java.nio.channels.UnresolvedAddressException: null + at java.base/sun.nio.ch.Net.checkAddress(Net.java:137) + at java.base/sun.nio.ch.Net.checkAddress(Net.java:145) + at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:842) + at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:865) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.lambda$connectAsync$1(PlainHttpConnection.java:210) + at java.base/java.security.AccessController.doPrivileged(AccessController.java:571) + at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:212) + ... 62 common frames omitted +2026-05-15 12:49:05.555 INFO [Scheduler1_Worker-5] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - All feeds fetched. Total new items: 0 +2026-05-15 12:49:05.568 INFO [Scheduler1_Worker-5] o.a.f.i.r.j.f.FetchRbiFeedsTasklet : RBI RSS feed fetch job completed. 0 new items stored. +2026-05-15 12:49:05.570 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [FETCH_RBI_RSS_FEEDS] executed in 249ms +2026-05-15 12:49:05.574 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=FETCH_RBI_RSS_FEEDS]] completed with the following parameters: [{'run.id':'{value=81, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 268ms +2026-05-15 12:49:06.219 WARN [fineract_default_pool:housekeeper] com.zaxxer.hikari.pool.HikariPool : fineract_default_pool - Thread starvation or clock leap detected (housekeeper delta=54m31s79ms449µs500ns). +2026-05-15 12:49:18.864 WARN [HikariPool-1:housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=54m41s86ms654µs500ns). +2026-05-15 12:50:00.032 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14312, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:50:00.032 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1585, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:50:00.037 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 12:50:00.038 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 12:50:00.041 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 12:50:00.044 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 5ms +2026-05-15 12:50:00.044 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14312, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 12:50:00.047 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1585, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 12:51:00.016 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14313, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:51:00.020 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 12:51:00.022 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 12:51:00.025 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14313, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 12:52:00.017 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14314, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:52:00.022 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 12:52:00.025 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 12:52:00.028 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14314, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 12:53:00.018 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14315, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:53:00.022 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 12:53:00.026 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 12:53:00.029 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14315, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 12:54:00.015 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14316, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:54:00.019 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 12:54:00.021 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 12:54:00.023 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14316, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 12:55:00.015 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14317, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:55:00.018 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 12:55:00.022 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 12:55:00.024 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14317, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 12:56:00.016 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14318, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:56:00.019 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 12:56:00.022 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 12:56:00.025 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14318, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 12:57:00.018 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14319, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:57:00.021 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 12:57:00.024 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 12:57:00.027 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14319, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 12:58:00.013 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14320, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:58:00.016 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 12:58:00.020 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 12:58:00.022 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14320, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 12:59:00.027 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14321, type=class java.lang.Long, identifying=true}'}] +2026-05-15 12:59:00.036 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 12:59:00.040 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 12:59:00.043 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14321, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms +2026-05-15 13:00:00.026 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14322, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:00:00.028 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1098, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:00:00.030 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:00:00.032 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 13:00:00.034 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:00:00.037 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14322, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:00:00.041 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 8ms +2026-05-15 13:00:00.047 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1098, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 17ms +2026-05-15 13:00:00.049 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1586, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:00:00.049 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1099, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:00:00.055 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 13:00:00.055 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 13:00:00.061 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 6ms +2026-05-15 13:00:00.061 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 6ms +2026-05-15 13:00:00.065 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1099, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 13:00:00.065 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1586, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms +2026-05-15 13:01:00.029 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14323, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:01:00.034 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:01:00.037 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:01:00.039 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14323, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:02:00.019 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14324, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:02:00.022 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:02:00.025 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:02:00.027 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14324, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 13:03:00.010 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14325, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:03:00.026 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:03:00.029 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:03:00.033 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14325, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 22ms +2026-05-15 13:04:00.017 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14326, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:04:00.017 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:04:00.030 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 13ms +2026-05-15 13:04:00.033 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14326, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms +2026-05-15 13:05:00.042 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14327, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:05:00.047 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:05:00.049 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:05:00.054 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14327, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 13:06:00.073 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14328, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:06:00.079 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:06:00.079 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 13:06:00.084 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14328, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:07:00.031 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14329, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:07:00.035 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:07:00.038 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:07:00.042 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14329, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 13:08:00.036 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14330, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:08:00.041 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:08:00.045 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:08:00.049 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14330, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:09:00.020 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14331, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:09:00.026 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:09:00.029 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:09:00.032 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14331, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:10:00.027 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14332, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:10:00.027 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1587, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:10:00.032 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 13:10:00.032 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:10:00.034 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:10:00.037 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14332, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 13:10:00.038 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 6ms +2026-05-15 13:10:00.040 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1587, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:11:00.033 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14333, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:11:00.037 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:11:00.040 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:11:00.044 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14333, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:11:21.005 INFO [https-jsse-nio-8443-exec-9] o.a.f.i.r.api.RbiFeedApiResource : RBI Feed API - retrieveAll called with category: null +2026-05-15 13:11:21.013 DEBUG [https-jsse-nio-8443-exec-9] o.a.f.i.r.api.RbiFeedApiResource : RBI Feed API - Fetching all feeds +2026-05-15 13:11:21.013 INFO [https-jsse-nio-8443-exec-9] o.a.f.i.r.s.RbiFeedReadPlatformServiceImpl : RBI Feed ReadService - retrieveAll +2026-05-15 13:11:21.236 DEBUG [https-jsse-nio-8443-exec-9] o.a.f.i.r.s.RbiFeedReadPlatformServiceImpl : RBI Feed ReadService - retrieveAll returned 754 items +2026-05-15 13:11:21.238 INFO [https-jsse-nio-8443-exec-9] o.a.f.i.r.api.RbiFeedApiResource : RBI Feed API - Returning 754 feed items +2026-05-15 13:12:00.031 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14334, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:12:00.038 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:12:00.042 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:12:00.045 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14334, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 13:13:00.024 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14335, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:13:00.029 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:13:00.032 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:13:00.036 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14335, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:14:00.018 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14336, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:14:00.026 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:14:00.029 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:14:00.034 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14336, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 13:15:00.006 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1100, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:15:00.006 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14337, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:15:00.018 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1099, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:15:00.018 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 13:15:00.020 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:15:00.022 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:15:00.023 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 13:15:00.024 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 5ms +2026-05-15 13:15:00.025 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14337, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 18ms +2026-05-15 13:15:00.027 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 3ms +2026-05-15 13:15:00.027 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1100, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 19ms +2026-05-15 13:15:00.030 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1099, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:16:00.019 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14338, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:16:00.021 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:16:00.024 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:16:00.026 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14338, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 13:17:00.021 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14339, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:17:00.030 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:17:00.032 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:17:00.035 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14339, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 13:18:00.016 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14340, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:18:00.019 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:18:00.021 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:18:00.024 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14340, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 13:19:00.020 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14341, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:19:00.026 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:19:00.029 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:19:00.032 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14341, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 13:20:00.034 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1588, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:20:00.038 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14342, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:20:00.039 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 13:20:00.042 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:20:00.045 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 6ms +2026-05-15 13:20:00.046 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 13:20:00.048 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1588, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms +2026-05-15 13:20:00.049 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14342, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:21:00.033 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14343, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:21:00.038 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:21:00.041 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:21:00.044 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14343, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:22:00.020 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14344, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:22:00.025 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:22:00.029 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 13:22:00.032 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14344, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 13:23:00.026 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14345, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:23:00.030 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:23:00.033 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:23:00.036 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14345, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 13:24:00.029 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14346, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:24:00.034 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:24:00.037 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 13:24:00.040 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14346, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 13:25:00.007 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14347, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:25:00.021 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:25:00.023 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 13:25:00.026 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14347, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 18ms +2026-05-15 13:26:00.011 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14348, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:26:00.025 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:26:00.028 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:26:00.031 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14348, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 18ms +2026-05-15 13:27:00.031 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14349, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:27:00.035 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:27:00.038 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:27:00.042 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14349, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 13:28:00.032 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14350, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:28:00.039 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:28:00.041 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:28:00.044 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14350, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:29:00.020 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14351, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:29:00.025 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:29:00.027 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:29:00.030 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14351, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 13:30:00.025 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1589, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:30:00.027 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1100, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:30:00.030 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 13:30:00.032 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 13:30:00.037 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 7ms +2026-05-15 13:30:00.040 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 8ms +2026-05-15 13:30:00.041 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1589, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms +2026-05-15 13:30:00.043 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1101, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:30:00.046 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1100, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 17ms +2026-05-15 13:30:00.052 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 13:30:00.053 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14352, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:30:00.057 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 4ms +2026-05-15 13:30:00.059 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:30:00.062 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1101, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 18ms +2026-05-15 13:30:00.062 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:30:00.066 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14352, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms +2026-05-15 13:31:00.032 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14353, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:31:00.038 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:31:00.041 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:31:00.044 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14353, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:32:00.011 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14354, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:32:00.020 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:32:00.022 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 13:32:00.025 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14354, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 13:33:00.028 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14355, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:33:00.033 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:33:00.035 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 13:33:00.038 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14355, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 13:34:00.020 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14356, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:34:00.033 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:34:00.036 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:34:00.038 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14356, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 17ms +2026-05-15 13:35:00.019 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14357, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:35:00.024 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:35:00.024 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 13:35:00.024 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14357, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 5ms +2026-05-15 13:36:00.025 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14358, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:36:00.031 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:36:00.035 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:36:00.038 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14358, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:37:00.031 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14359, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:37:00.035 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:37:00.039 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 13:37:00.042 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14359, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:38:00.035 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14360, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:38:00.039 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:38:00.043 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:38:00.046 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14360, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 13:39:00.021 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14361, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:39:00.021 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:39:00.021 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 13:39:00.021 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14361, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 13:40:00.021 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1590, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:40:00.021 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14362, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:40:00.026 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 13:40:00.027 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:40:00.030 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:40:00.032 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 4ms +2026-05-15 13:40:00.033 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14362, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms +2026-05-15 13:40:00.035 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1590, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 13:41:00.030 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14363, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:41:00.032 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:41:00.035 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:41:00.038 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14363, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 13:42:00.019 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14364, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:42:00.024 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:42:00.026 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:42:00.026 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14364, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 13:43:00.024 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14365, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:43:00.028 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:43:00.030 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:43:00.033 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14365, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 13:44:00.021 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14366, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:44:00.025 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:44:00.028 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:44:00.032 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14366, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 13:45:00.033 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1102, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:45:00.038 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 13:45:00.041 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 2ms +2026-05-15 13:45:00.044 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1102, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:45:00.049 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14367, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:45:00.049 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1101, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:45:00.056 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:45:00.056 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 13:45:00.060 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 13:45:00.063 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 7ms +2026-05-15 13:45:00.064 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14367, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 13:45:00.067 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1101, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms +2026-05-15 13:46:00.025 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14368, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:46:00.029 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:46:00.032 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:46:00.036 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14368, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 13:47:00.031 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14369, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:47:00.035 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:47:00.038 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:47:00.041 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14369, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 13:48:00.034 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14370, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:48:00.039 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:48:00.042 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:48:00.046 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14370, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 13:49:00.022 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14371, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:49:00.027 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:49:00.030 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 13:49:00.034 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14371, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 13:50:00.028 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1591, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:50:00.032 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14372, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:50:00.033 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 13:50:00.038 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:50:00.038 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 4ms +2026-05-15 13:50:00.043 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1591, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms +2026-05-15 13:50:00.043 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 13:50:00.046 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14372, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms +2026-05-15 13:51:00.033 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14373, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:51:00.037 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:51:00.040 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 13:51:00.044 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14373, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 13:52:00.020 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14374, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:52:00.023 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:52:00.026 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 13:52:00.029 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14374, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 13:53:00.023 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14375, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:53:00.028 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:53:00.031 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:53:00.034 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14375, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 13:54:00.037 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14376, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:54:00.040 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:54:00.043 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 13:54:00.048 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14376, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 13:55:00.018 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14377, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:55:00.018 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:55:00.034 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 16ms +2026-05-15 13:55:00.038 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14377, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 18ms +2026-05-15 13:56:00.022 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14378, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:56:00.025 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:56:00.028 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:56:00.031 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14378, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 13:57:00.030 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14379, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:57:00.033 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:57:00.036 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 13:57:00.039 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14379, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 13:58:00.015 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14380, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:58:00.031 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:58:00.034 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 13:58:00.036 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14380, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 19ms +2026-05-15 13:59:00.023 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14381, type=class java.lang.Long, identifying=true}'}] +2026-05-15 13:59:00.023 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 13:59:00.023 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 13:59:00.039 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14381, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms +2026-05-15 14:00:00.025 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14382, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:00:00.028 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1102, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:00:00.029 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:00:00.032 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:00:00.033 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 14:00:00.035 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14382, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:00:00.038 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 3ms +2026-05-15 14:00:00.041 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1102, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 14:00:00.047 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1592, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:00:00.047 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1103, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:00:00.052 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 14:00:00.053 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 14:00:00.058 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 6ms +2026-05-15 14:00:00.058 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 4ms +2026-05-15 14:00:00.060 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1103, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 14:00:00.060 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1592, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 14:01:00.019 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14383, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:01:00.023 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:01:00.026 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:01:00.031 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14383, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 14:02:00.021 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14384, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:02:00.025 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:02:00.028 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:02:00.031 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14384, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:03:00.026 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14385, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:03:00.030 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:03:00.032 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:03:00.035 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14385, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:04:00.030 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14386, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:04:00.035 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:04:00.038 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:04:00.042 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14386, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:05:00.019 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14387, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:05:00.024 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:05:00.024 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 14:05:00.028 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14387, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:06:00.026 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14388, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:06:00.030 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:06:00.033 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:06:00.037 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14388, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:07:00.027 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14389, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:07:00.031 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:07:00.034 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:07:00.037 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14389, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:08:00.025 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14390, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:08:00.025 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:08:00.034 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 9ms +2026-05-15 14:08:00.037 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14390, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 14:09:00.020 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14391, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:09:00.024 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:09:00.026 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:09:00.029 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14391, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:10:00.025 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1593, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:10:00.029 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 14:10:00.033 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14392, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:10:00.035 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 6ms +2026-05-15 14:10:00.038 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:10:00.038 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1593, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 14:10:00.041 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:10:00.046 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14392, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 14:11:00.029 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14393, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:11:00.033 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:11:00.036 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:11:00.038 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14393, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:11:03.020 WARN [https-jsse-nio-8443-exec-2] o.a.f.i.c.e.PlatformResourceNotFoundExceptionMapper : Exception occurred +org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 + at org.springframework.dao.support.DataAccessUtils.nullableSingleResult(DataAccessUtils.java:194) + at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:897) + at org.apache.fineract.portfolio.savings.service.SavingsAccountReadPlatformServiceImpl.retrieveOne(SavingsAccountReadPlatformServiceImpl.java:218) + at org.apache.fineract.portfolio.savings.api.SavingsAccountsApiResource.retrieveSavingAccount(SavingsAccountsApiResource.java:477) + at org.apache.fineract.portfolio.savings.api.SavingsAccountsApiResource.retrieveOne(SavingsAccountsApiResource.java:190) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189) + at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81) + at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:274) + at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) + at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) + at org.glassfish.jersey.internal.Errors.process(Errors.java:292) + at org.glassfish.jersey.internal.Errors.process(Errors.java:274) + at org.glassfish.jersey.internal.Errors.process(Errors.java:244) + at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:266) + at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:253) + at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:696) + at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:398) + at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:350) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:490) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:351) + at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:83) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:129) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.IdempotencyStoreFilter.doFilterInternal(IdempotencyStoreFilter.java:57) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.jobs.filter.LoanCOBApiFilter.proceed(LoanCOBApiFilter.java:95) + at org.apache.fineract.infrastructure.jobs.filter.LoanCOBApiFilter.doFilterInternal(LoanCOBApiFilter.java:70) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.security.filter.TwoFactorAuthenticationFilter.doFilter(TwoFactorAuthenticationFilter.java:128) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.jobs.filter.ProgressiveLoanModelCheckerFilter.proceed(ProgressiveLoanModelCheckerFilter.java:77) + at org.apache.fineract.infrastructure.jobs.filter.ProgressiveLoanModelCheckerFilter.doFilterInternal(ProgressiveLoanModelCheckerFilter.java:49) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.instancemode.filter.FineractInstanceModeApiFilter.proceed(FineractInstanceModeApiFilter.java:84) + at org.apache.fineract.infrastructure.instancemode.filter.FineractInstanceModeApiFilter.doFilterInternal(FineractInstanceModeApiFilter.java:65) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.CorrelationHeaderFilter.doFilterInternal(CorrelationHeaderFilter.java:51) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.RequestResponseFilter.doFilterInternal(RequestResponseFilter.java:39) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:125) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213) + at org.apache.fineract.infrastructure.security.filter.TenantAwareBasicAuthenticationFilter.doFilterInternal(TenantAwareBasicAuthenticationFilter.java:193) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:135) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:334) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:225) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:319) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$4(HandlerMappingIntrospector.java:267) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:240) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1774) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-05-15 14:12:00.018 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14394, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:12:00.023 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:12:00.026 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:12:00.029 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14394, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:13:00.026 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14395, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:13:00.030 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:13:00.033 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:13:00.035 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14395, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:14:00.026 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14396, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:14:00.029 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:14:00.031 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:14:00.034 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14396, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:15:00.012 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1104, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:15:00.014 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14397, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:15:00.015 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 14:15:00.018 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1103, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:15:00.019 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:15:00.020 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 5ms +2026-05-15 14:15:00.022 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:15:00.023 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 14:15:00.023 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1104, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 14:15:00.026 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14397, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:15:00.028 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 4ms +2026-05-15 14:15:00.031 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1103, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 14:16:00.014 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14398, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:16:00.017 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:16:00.019 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:16:00.022 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14398, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:17:00.015 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14399, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:17:00.018 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:17:00.020 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:17:00.023 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14399, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 14:18:00.012 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14400, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:18:00.016 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:18:00.018 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:18:00.021 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14400, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:19:00.014 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14401, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:19:00.018 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:19:00.021 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:19:00.025 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14401, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:20:00.022 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1594, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:20:00.022 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14402, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:20:00.026 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 14:20:00.026 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:20:00.029 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:20:00.032 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14402, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:20:00.033 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 7ms +2026-05-15 14:20:00.036 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1594, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 14:21:00.019 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14403, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:21:00.022 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:21:00.027 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 14:21:00.029 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14403, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:22:00.018 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14404, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:22:00.021 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:22:00.024 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:22:00.027 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14404, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:23:00.021 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14405, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:23:00.025 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:23:00.028 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:23:00.030 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14405, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:24:00.018 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14406, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:24:00.021 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:24:00.023 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:24:00.026 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14406, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:25:00.029 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14407, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:25:00.032 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:25:00.034 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:25:00.037 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14407, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:26:00.023 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14408, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:26:00.024 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:26:00.024 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 14:26:00.024 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14408, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 14:27:00.011 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14409, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:27:00.021 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:27:00.021 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 14:27:00.021 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14409, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 14:28:00.016 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14410, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:28:00.020 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:28:00.022 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:28:00.026 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14410, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:29:00.026 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14411, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:29:00.030 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:29:00.030 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 14:29:00.034 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14411, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:30:00.029 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1105, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:30:00.029 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1104, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:30:00.036 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 14:30:00.036 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 14:30:00.038 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14412, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:30:00.044 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 7ms +2026-05-15 14:30:00.044 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 7ms +2026-05-15 14:30:00.044 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:30:00.046 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1105, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms +2026-05-15 14:30:00.046 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:30:00.046 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1104, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms +2026-05-15 14:30:00.046 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1595, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:30:00.051 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14412, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:30:00.055 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 14:30:00.064 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 8ms +2026-05-15 14:30:00.068 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1595, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 21ms +2026-05-15 14:31:00.030 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14413, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:31:00.032 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:31:00.036 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:31:00.036 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14413, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 4ms +2026-05-15 14:32:00.026 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14414, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:32:00.032 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:32:00.034 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:32:00.037 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14414, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 14:32:20.355 WARN [https-jsse-nio-8443-exec-7] o.g.j.server.ServerRuntime$Responder : An exception mapping did not successfully produce and processed a response. Logging the exception propagated to the default exception mapper. +java.lang.NoClassDefFoundError: org/apache/fineract/util/StreamResponseUtil$StreamResponseData + at org.apache.fineract.infrastructure.documentmanagement.api.ImagesApiResource.retrieveImage(ImagesApiResource.java:153) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189) + at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81) + at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:274) + at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) + at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) + at org.glassfish.jersey.internal.Errors.process(Errors.java:292) + at org.glassfish.jersey.internal.Errors.process(Errors.java:274) + at org.glassfish.jersey.internal.Errors.process(Errors.java:244) + at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:266) + at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:253) + at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:696) + at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:398) + at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:350) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:490) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:351) + at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:83) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:129) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.IdempotencyStoreFilter.doFilterInternal(IdempotencyStoreFilter.java:57) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.jobs.filter.LoanCOBApiFilter.proceed(LoanCOBApiFilter.java:95) + at org.apache.fineract.infrastructure.jobs.filter.LoanCOBApiFilter.doFilterInternal(LoanCOBApiFilter.java:70) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.security.filter.TwoFactorAuthenticationFilter.doFilter(TwoFactorAuthenticationFilter.java:128) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.jobs.filter.ProgressiveLoanModelCheckerFilter.proceed(ProgressiveLoanModelCheckerFilter.java:77) + at org.apache.fineract.infrastructure.jobs.filter.ProgressiveLoanModelCheckerFilter.doFilterInternal(ProgressiveLoanModelCheckerFilter.java:49) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.instancemode.filter.FineractInstanceModeApiFilter.proceed(FineractInstanceModeApiFilter.java:84) + at org.apache.fineract.infrastructure.instancemode.filter.FineractInstanceModeApiFilter.doFilterInternal(FineractInstanceModeApiFilter.java:65) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.CorrelationHeaderFilter.doFilterInternal(CorrelationHeaderFilter.java:51) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.RequestResponseFilter.doFilterInternal(RequestResponseFilter.java:39) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:125) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213) + at org.apache.fineract.infrastructure.security.filter.TenantAwareBasicAuthenticationFilter.doFilterInternal(TenantAwareBasicAuthenticationFilter.java:193) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:135) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:334) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:225) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:319) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$4(HandlerMappingIntrospector.java:267) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:240) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1774) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +Caused by: java.lang.ClassNotFoundException: org.apache.fineract.util.StreamResponseUtil$StreamResponseData + at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) + at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) + at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) + ... 201 common frames omitted +2026-05-15 14:32:20.371 ERROR [https-jsse-nio-8443-exec-7] o.a.c.c.C.[.[.[.[.a.f.i.c.j.JerseyConfig] : Servlet.service() for servlet [org.apache.fineract.infrastructure.core.jersey.JerseyConfig] in context with path [/fineract-provider] threw exception [org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: org/apache/fineract/util/StreamResponseUtil$StreamResponseData] with root cause +java.lang.ClassNotFoundException: org.apache.fineract.util.StreamResponseUtil$StreamResponseData + at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) + at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) + at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) + at org.apache.fineract.infrastructure.documentmanagement.api.ImagesApiResource.retrieveImage(ImagesApiResource.java:153) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189) + at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81) + at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:274) + at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) + at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) + at org.glassfish.jersey.internal.Errors.process(Errors.java:292) + at org.glassfish.jersey.internal.Errors.process(Errors.java:274) + at org.glassfish.jersey.internal.Errors.process(Errors.java:244) + at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:266) + at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:253) + at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:696) + at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:398) + at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:350) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:490) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:351) + at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:83) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:129) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.IdempotencyStoreFilter.doFilterInternal(IdempotencyStoreFilter.java:57) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.jobs.filter.LoanCOBApiFilter.proceed(LoanCOBApiFilter.java:95) + at org.apache.fineract.infrastructure.jobs.filter.LoanCOBApiFilter.doFilterInternal(LoanCOBApiFilter.java:70) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.security.filter.TwoFactorAuthenticationFilter.doFilter(TwoFactorAuthenticationFilter.java:128) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.jobs.filter.ProgressiveLoanModelCheckerFilter.proceed(ProgressiveLoanModelCheckerFilter.java:77) + at org.apache.fineract.infrastructure.jobs.filter.ProgressiveLoanModelCheckerFilter.doFilterInternal(ProgressiveLoanModelCheckerFilter.java:49) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.instancemode.filter.FineractInstanceModeApiFilter.proceed(FineractInstanceModeApiFilter.java:84) + at org.apache.fineract.infrastructure.instancemode.filter.FineractInstanceModeApiFilter.doFilterInternal(FineractInstanceModeApiFilter.java:65) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.CorrelationHeaderFilter.doFilterInternal(CorrelationHeaderFilter.java:51) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.RequestResponseFilter.doFilterInternal(RequestResponseFilter.java:39) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:125) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213) + at org.apache.fineract.infrastructure.security.filter.TenantAwareBasicAuthenticationFilter.doFilterInternal(TenantAwareBasicAuthenticationFilter.java:193) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:135) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:334) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:225) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:319) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$4(HandlerMappingIntrospector.java:267) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:240) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1774) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-05-15 14:32:24.865 WARN [https-jsse-nio-8443-exec-7] o.g.j.server.ServerRuntime$Responder : An exception mapping did not successfully produce and processed a response. Logging the exception propagated to the default exception mapper. +java.lang.NoClassDefFoundError: org/apache/fineract/portfolio/savings/SavingsApiConstants + at java.base/java.lang.ClassLoader.defineClass1(Native Method) + at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1027) + at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) + at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862) + at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760) + at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681) + at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639) + at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) + at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) + at org.apache.fineract.portfolio.savings.api.SavingsAccountsApiResource.template(SavingsAccountsApiResource.java:118) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189) + at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81) + at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:274) + at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) + at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) + at org.glassfish.jersey.internal.Errors.process(Errors.java:292) + at org.glassfish.jersey.internal.Errors.process(Errors.java:274) + at org.glassfish.jersey.internal.Errors.process(Errors.java:244) + at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:266) + at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:253) + at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:696) + at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:398) + at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:350) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:490) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:351) + at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:83) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:129) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.IdempotencyStoreFilter.doFilterInternal(IdempotencyStoreFilter.java:57) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.jobs.filter.LoanCOBApiFilter.proceed(LoanCOBApiFilter.java:95) + at org.apache.fineract.infrastructure.jobs.filter.LoanCOBApiFilter.doFilterInternal(LoanCOBApiFilter.java:70) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.security.filter.TwoFactorAuthenticationFilter.doFilter(TwoFactorAuthenticationFilter.java:128) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.jobs.filter.ProgressiveLoanModelCheckerFilter.proceed(ProgressiveLoanModelCheckerFilter.java:77) + at org.apache.fineract.infrastructure.jobs.filter.ProgressiveLoanModelCheckerFilter.doFilterInternal(ProgressiveLoanModelCheckerFilter.java:49) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.instancemode.filter.FineractInstanceModeApiFilter.proceed(FineractInstanceModeApiFilter.java:84) + at org.apache.fineract.infrastructure.instancemode.filter.FineractInstanceModeApiFilter.doFilterInternal(FineractInstanceModeApiFilter.java:65) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.CorrelationHeaderFilter.doFilterInternal(CorrelationHeaderFilter.java:51) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.RequestResponseFilter.doFilterInternal(RequestResponseFilter.java:39) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:125) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213) + at org.apache.fineract.infrastructure.security.filter.TenantAwareBasicAuthenticationFilter.doFilterInternal(TenantAwareBasicAuthenticationFilter.java:193) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:135) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:334) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:225) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:319) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$4(HandlerMappingIntrospector.java:267) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:240) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1774) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +Caused by: java.lang.ClassNotFoundException: org.apache.fineract.portfolio.savings.SavingsApiConstants + at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) + at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) + at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) + ... 210 common frames omitted +2026-05-15 14:32:24.879 ERROR [https-jsse-nio-8443-exec-7] o.a.c.c.C.[.[.[.[.a.f.i.c.j.JerseyConfig] : Servlet.service() for servlet [org.apache.fineract.infrastructure.core.jersey.JerseyConfig] in context with path [/fineract-provider] threw exception [org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: org/apache/fineract/portfolio/savings/SavingsApiConstants] with root cause +java.lang.ClassNotFoundException: org.apache.fineract.portfolio.savings.SavingsApiConstants + at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) + at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) + at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) + at java.base/java.lang.ClassLoader.defineClass1(Native Method) + at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1027) + at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) + at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862) + at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760) + at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681) + at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639) + at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) + at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) + at org.apache.fineract.portfolio.savings.api.SavingsAccountsApiResource.template(SavingsAccountsApiResource.java:118) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189) + at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219) + at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400) + at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81) + at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:274) + at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) + at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) + at org.glassfish.jersey.internal.Errors.process(Errors.java:292) + at org.glassfish.jersey.internal.Errors.process(Errors.java:274) + at org.glassfish.jersey.internal.Errors.process(Errors.java:244) + at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:266) + at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:253) + at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:696) + at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:398) + at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:350) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:358) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312) + at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:490) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:351) + at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:83) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:129) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.IdempotencyStoreFilter.doFilterInternal(IdempotencyStoreFilter.java:57) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.jobs.filter.LoanCOBApiFilter.proceed(LoanCOBApiFilter.java:95) + at org.apache.fineract.infrastructure.jobs.filter.LoanCOBApiFilter.doFilterInternal(LoanCOBApiFilter.java:70) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.security.filter.TwoFactorAuthenticationFilter.doFilter(TwoFactorAuthenticationFilter.java:128) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.jobs.filter.ProgressiveLoanModelCheckerFilter.proceed(ProgressiveLoanModelCheckerFilter.java:77) + at org.apache.fineract.infrastructure.jobs.filter.ProgressiveLoanModelCheckerFilter.doFilterInternal(ProgressiveLoanModelCheckerFilter.java:49) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.instancemode.filter.FineractInstanceModeApiFilter.proceed(FineractInstanceModeApiFilter.java:84) + at org.apache.fineract.infrastructure.instancemode.filter.FineractInstanceModeApiFilter.doFilterInternal(FineractInstanceModeApiFilter.java:65) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.CorrelationHeaderFilter.doFilterInternal(CorrelationHeaderFilter.java:51) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.apache.fineract.infrastructure.core.filters.RequestResponseFilter.doFilterInternal(RequestResponseFilter.java:39) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:125) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213) + at org.apache.fineract.infrastructure.security.filter.TenantAwareBasicAuthenticationFilter.doFilterInternal(TenantAwareBasicAuthenticationFilter.java:193) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:135) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:334) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:225) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:319) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$4(HandlerMappingIntrospector.java:267) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:240) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1774) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +2026-05-15 14:33:00.022 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14415, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:33:00.029 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:33:00.033 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:33:00.033 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14415, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 14:34:00.024 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14416, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:34:00.028 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:34:00.031 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:34:00.034 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14416, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:35:00.031 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14417, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:35:00.031 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:35:00.031 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 14:35:00.031 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14417, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 14:36:00.014 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14418, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:36:00.018 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:36:00.021 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:36:00.025 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14418, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:37:00.013 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14419, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:37:00.017 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:37:00.019 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:37:00.022 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14419, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:38:00.015 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14420, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:38:00.021 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:38:00.024 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:38:00.026 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14420, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:39:00.016 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14421, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:39:00.019 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:39:00.021 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:39:00.023 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14421, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:40:00.014 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14422, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:40:00.014 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1596, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:40:00.017 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:40:00.018 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 14:40:00.020 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:40:00.022 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 4ms +2026-05-15 14:40:00.023 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14422, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:40:00.025 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1596, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 14:41:00.016 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14423, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:41:00.020 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:41:00.023 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:41:00.025 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14423, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:42:00.016 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14424, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:42:00.019 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:42:00.022 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:42:00.024 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14424, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:43:00.017 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14425, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:43:00.022 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:43:00.025 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:43:00.027 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14425, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:44:00.016 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14426, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:44:00.020 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:44:00.023 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:44:00.026 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14426, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:45:00.011 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1106, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:45:00.012 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1105, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:45:00.015 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 14:45:00.016 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 14:45:00.019 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 4ms +2026-05-15 14:45:00.022 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 5ms +2026-05-15 14:45:00.023 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1106, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:45:00.024 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1105, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 14:45:00.029 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14427, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:45:00.034 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:45:00.036 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:45:00.039 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14427, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:46:00.016 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14428, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:46:00.019 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:46:00.022 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:46:00.025 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14428, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:47:00.014 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14429, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:47:00.017 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:47:00.020 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:47:00.021 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14429, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 5ms +2026-05-15 14:48:00.015 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14430, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:48:00.017 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:48:00.019 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:48:00.022 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14430, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 14:49:00.018 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14431, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:49:00.023 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:49:00.026 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:49:00.029 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14431, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 14:50:00.016 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14432, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:50:00.017 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1597, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:50:00.019 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:50:00.021 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 14:50:00.024 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 14:50:00.027 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 6ms +2026-05-15 14:50:00.027 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14432, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:50:00.031 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1597, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms +2026-05-15 14:51:00.014 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14433, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:51:00.018 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:51:00.020 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 14:51:00.023 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14433, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 14:52:00.023 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14434, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:52:00.027 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:52:00.030 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:52:00.033 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14434, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:53:00.016 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14435, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:53:00.016 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:53:00.016 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 14:53:00.016 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14435, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 14:54:00.029 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14436, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:54:00.029 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:54:00.029 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 14:54:00.029 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14436, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 14:55:00.016 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14437, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:55:00.032 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:55:00.037 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 14:55:00.040 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14437, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 23ms +2026-05-15 14:56:00.021 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14438, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:56:00.034 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:56:00.037 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 14:56:00.037 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14438, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms +2026-05-15 14:57:00.026 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14439, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:57:00.028 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:57:00.028 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 14:57:00.036 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14439, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 14:58:00.025 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14440, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:58:00.029 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:58:00.031 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 14:58:00.035 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14440, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 14:59:00.029 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14441, type=class java.lang.Long, identifying=true}'}] +2026-05-15 14:59:00.038 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 14:59:00.042 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 14:59:00.047 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14441, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 17ms +2026-05-15 15:00:00.012 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1107, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:00:00.028 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 15:00:00.028 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1598, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:00:00.028 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in +2026-05-15 15:00:00.028 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14442, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:00:00.028 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 15:00:00.028 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1106, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:00:00.028 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1107, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms +2026-05-15 15:00:00.028 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:00:00.028 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in +2026-05-15 15:00:00.028 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 15:00:00.028 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:00:00.045 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1598, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms +2026-05-15 15:00:00.045 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14442, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms +2026-05-15 15:00:00.048 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 19ms +2026-05-15 15:00:00.053 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1106, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 22ms +2026-05-15 15:01:00.029 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14443, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:01:00.034 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:01:00.038 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 15:01:00.041 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14443, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:02:00.022 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14444, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:02:00.024 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:02:00.024 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:02:00.032 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14444, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 2ms +2026-05-15 15:03:00.016 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14445, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:03:00.020 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:03:00.020 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:03:00.026 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14445, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 15:04:00.022 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14446, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:04:00.029 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:04:00.031 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:04:00.033 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14446, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 15:05:00.043 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14447, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:05:00.047 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:05:00.051 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 15:05:00.053 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14447, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 15:06:00.025 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14448, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:06:00.025 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:06:00.025 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:06:00.025 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14448, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 15:07:00.031 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14449, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:07:00.033 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:07:00.033 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:07:00.033 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14449, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 1ms +2026-05-15 15:08:00.015 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14450, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:08:00.020 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:08:00.023 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 15:08:00.026 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14450, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:09:00.023 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14451, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:09:00.028 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:09:00.028 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:09:00.035 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14451, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 15:10:00.021 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1599, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:10:00.021 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14452, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:10:00.026 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 15:10:00.028 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:10:00.031 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:10:00.031 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 4ms +2026-05-15 15:10:00.034 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14452, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms +2026-05-15 15:10:00.034 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1599, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms +2026-05-15 15:11:00.025 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14453, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:11:00.030 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:11:00.033 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:11:00.036 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14453, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 15:12:00.027 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14454, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:12:00.031 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:12:00.034 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 15:12:00.036 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14454, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:13:00.016 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14455, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:13:00.016 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:13:00.016 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:13:00.016 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14455, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 15:14:00.019 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14456, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:14:00.024 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:14:00.024 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:14:00.024 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14456, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 4ms +2026-05-15 15:15:00.028 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1108, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:15:00.034 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 15:15:00.038 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 4ms +2026-05-15 15:15:00.038 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14457, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:15:00.038 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1107, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:15:00.042 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1108, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 15:15:00.043 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:15:00.043 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 15:15:00.045 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:15:00.047 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 4ms +2026-05-15 15:15:00.049 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14457, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:15:00.051 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1107, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 15:16:00.028 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14458, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:16:00.030 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:16:00.034 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 15:16:00.036 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14458, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 15:17:00.033 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14459, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:17:00.040 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:17:00.040 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:17:00.040 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14459, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 15:18:00.024 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14460, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:18:00.024 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:18:00.024 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:18:00.024 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14460, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 15:19:00.021 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14461, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:19:00.025 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:19:00.025 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:19:00.033 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14461, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:20:00.021 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14462, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:20:00.021 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1600, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:20:00.026 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:20:00.026 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 15:20:00.029 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:20:00.032 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 6ms +2026-05-15 15:20:00.033 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14462, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 15:20:00.036 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1600, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 15:21:00.031 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14463, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:21:00.031 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:21:00.031 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:21:00.031 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14463, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 15:22:00.016 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14464, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:22:00.016 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:22:00.016 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:22:00.016 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14464, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 15:23:00.021 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14465, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:23:00.025 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:23:00.027 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:23:00.030 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14465, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:24:00.019 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14466, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:24:00.036 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:24:00.036 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:24:00.036 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14466, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms +2026-05-15 15:25:00.026 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14467, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:25:00.026 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:25:00.037 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 11ms +2026-05-15 15:25:00.037 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14467, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 15:26:00.018 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14468, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:26:00.018 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:26:00.018 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:26:00.018 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14468, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 15:27:00.024 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14469, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:27:00.024 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:27:00.024 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:27:00.034 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14469, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 15:28:00.024 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14470, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:28:00.028 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:28:00.031 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:28:00.034 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14470, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 15:29:00.026 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14471, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:29:00.036 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:29:00.042 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms +2026-05-15 15:29:00.045 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14471, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 18ms +2026-05-15 15:30:00.026 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1109, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:30:00.030 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 15:30:00.034 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1108, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:30:00.034 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14472, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:30:00.035 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 4ms +2026-05-15 15:30:00.039 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 15:30:00.039 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:30:00.041 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1109, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 15:30:00.043 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 15:30:00.045 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 6ms +2026-05-15 15:30:00.045 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1601, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:30:00.045 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14472, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 15:30:00.045 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1108, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 15:30:00.051 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 15:30:00.057 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 4ms +2026-05-15 15:30:00.057 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1601, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms +2026-05-15 15:31:00.018 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14473, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:31:00.018 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:31:00.027 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 8ms +2026-05-15 15:31:00.034 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14473, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 15:32:00.018 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14474, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:32:00.022 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:32:00.024 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:32:00.026 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14474, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 15:33:00.023 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14475, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:33:00.027 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:33:00.031 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 15:33:00.035 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14475, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 15:34:00.029 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14476, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:34:00.029 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:34:00.029 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:34:00.029 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14476, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 15:35:00.034 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14477, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:35:00.038 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:35:00.041 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 15:35:00.045 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14477, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:36:00.029 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14478, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:36:00.029 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:36:00.029 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:36:00.029 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14478, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 15:37:00.041 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14479, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:37:00.050 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:37:00.054 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 15:37:00.056 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14479, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:38:00.010 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14480, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:38:00.010 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:38:00.010 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:38:00.027 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14480, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms +2026-05-15 15:39:00.027 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14481, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:39:00.031 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:39:00.034 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 15:39:00.038 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14481, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:40:00.023 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14482, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:40:00.023 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1602, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:40:00.028 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 15:40:00.028 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:40:00.031 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:40:00.034 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 5ms +2026-05-15 15:40:00.034 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14482, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 15:40:00.037 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1602, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 15:41:00.021 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14483, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:41:00.029 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:41:00.029 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:41:00.037 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14483, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms +2026-05-15 15:42:00.022 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14484, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:42:00.022 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:42:00.022 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:42:00.022 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14484, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 15:43:00.019 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14485, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:43:00.025 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:43:00.025 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:43:00.025 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14485, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 15:44:00.024 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14486, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:44:00.026 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:44:00.033 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 7ms +2026-05-15 15:44:00.033 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14486, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:45:00.015 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1109, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:45:00.018 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 15:45:00.023 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 3ms +2026-05-15 15:45:00.025 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1110, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:45:00.025 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14487, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:45:00.026 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1109, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:45:00.030 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 15:45:00.030 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:45:00.033 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 15:45:00.035 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 5ms +2026-05-15 15:45:00.036 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14487, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 15:45:00.038 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1110, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 15:46:00.017 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14488, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:46:00.020 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:46:00.022 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:46:00.024 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14488, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms +2026-05-15 15:47:00.015 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14489, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:47:00.018 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:47:00.020 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:47:00.023 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14489, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 15:48:00.015 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14490, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:48:00.019 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:48:00.021 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:48:00.024 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14490, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:49:00.018 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14491, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:49:00.023 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:49:00.026 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 15:49:00.030 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14491, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 15:50:00.034 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1603, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:50:00.035 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14492, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:50:00.038 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 15:50:00.040 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:50:00.043 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:50:00.049 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14492, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 15:50:00.059 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 20ms +2026-05-15 15:50:00.064 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1603, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 28ms +2026-05-15 15:51:00.023 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14493, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:51:00.027 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:51:00.031 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 15:51:00.034 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14493, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:52:00.023 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14494, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:52:00.027 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:52:00.031 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 15:52:00.035 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14494, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:53:00.028 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14495, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:53:00.031 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:53:00.031 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:53:00.031 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14495, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 3ms +2026-05-15 15:54:00.016 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14496, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:54:00.016 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:54:00.016 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:54:00.016 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14496, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 15:55:00.019 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14497, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:55:00.023 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:55:00.023 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:55:00.023 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14497, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 3ms +2026-05-15 15:56:00.021 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14498, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:56:00.025 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:56:00.027 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:56:00.030 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14498, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 15:57:00.027 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14499, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:57:00.027 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:57:00.027 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 15:57:00.037 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14499, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 15:58:00.022 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14500, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:58:00.027 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:58:00.029 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 15:58:00.032 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14500, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 15:59:00.020 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14501, type=class java.lang.Long, identifying=true}'}] +2026-05-15 15:59:00.025 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 15:59:00.030 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 15:59:00.034 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14501, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms +2026-05-15 16:00:00.021 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1604, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:00:00.024 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 16:00:00.048 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 24ms +2026-05-15 16:00:00.051 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1604, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 29ms +2026-05-15 16:00:00.060 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1111, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:00:00.060 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14502, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:00:00.060 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1110, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:00:00.066 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 16:00:00.066 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:00:00.066 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 16:00:00.069 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 16:00:00.074 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14502, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 16:00:00.075 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 8ms +2026-05-15 16:00:00.076 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 9ms +2026-05-15 16:00:00.086 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1111, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 25ms +2026-05-15 16:00:00.086 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1110, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 25ms +2026-05-15 16:01:00.019 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14503, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:01:00.023 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:01:00.029 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 16:01:00.033 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14503, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 16:02:00.027 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14504, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:02:00.037 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:02:00.037 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 16:02:00.037 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14504, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 3ms +2026-05-15 16:03:00.019 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14505, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:03:00.019 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:03:00.019 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in +2026-05-15 16:03:00.019 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14505, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in +2026-05-15 16:04:00.026 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14506, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:04:00.030 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:04:00.033 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 16:04:00.036 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14506, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 16:05:00.050 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14507, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:05:00.056 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:05:00.060 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 16:05:00.065 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14507, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms +2026-05-15 16:06:00.046 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14508, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:06:00.053 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:06:00.057 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 16:06:00.062 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14508, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms +2026-05-15 16:07:00.031 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14509, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:07:00.036 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:07:00.040 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 16:07:00.044 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14509, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 16:08:00.029 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14510, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:08:00.034 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:08:00.037 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 16:08:00.042 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14510, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 16:09:00.031 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14511, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:09:00.035 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:09:00.038 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 16:09:00.041 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14511, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms +2026-05-15 16:10:00.025 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14512, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:10:00.029 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:10:00.032 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 16:10:00.037 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14512, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 16:10:00.068 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1605, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:10:00.077 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL] +2026-05-15 16:10:00.094 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 16ms +2026-05-15 16:10:00.099 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1605, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 27ms +2026-05-15 16:11:00.030 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14513, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:11:00.033 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:11:00.038 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms +2026-05-15 16:11:00.041 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14513, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms +2026-05-15 16:12:00.028 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14514, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:12:00.031 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:12:00.035 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 16:12:00.039 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14514, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms +2026-05-15 16:13:00.033 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14515, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:13:00.039 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:13:00.043 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms +2026-05-15 16:13:00.051 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14515, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms +2026-05-15 16:14:00.023 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14516, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:14:00.029 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:14:00.031 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms +2026-05-15 16:14:00.036 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14516, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 16:15:00.012 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] launched with the following parameters: [{'run.id':'{value=1112, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:15:00.015 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS] +2026-05-15 16:15:00.020 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 5ms +2026-05-15 16:15:00.020 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] launched with the following parameters: [{'run.id':'{value=14517, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:15:00.024 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_REPORT_MAILING_JOBS]] completed with the following parameters: [{'run.id':'{value=1112, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms +2026-05-15 16:15:00.025 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP] +2026-05-15 16:15:00.027 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms +2026-05-15 16:15:00.031 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=1111, type=class java.lang.Long, identifying=true}'}] +2026-05-15 16:15:00.031 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [{'run.id':'{value=14517, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms +2026-05-15 16:15:00.035 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] +2026-05-15 16:15:00.042 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 5ms +2026-05-15 16:15:00.045 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=1111, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/config/SecurityConfig.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/config/SecurityConfig.java index 8f6392c50..3abd40312 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/config/SecurityConfig.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/config/SecurityConfig.java @@ -379,6 +379,11 @@ public class SecurityConfig { .requestMatchers(API_MATCHER.matcher("/api/*/dsc/**")).fullyAuthenticated() .requestMatchers(API_MATCHER.matcher("/api/*/mfa/factors")).fullyAuthenticated() .requestMatchers(API_MATCHER.matcher("/api/*/mfa/factors/**")).fullyAuthenticated() + // TOTP (Google Authenticator) device mapping. Same posture as the rest of the + // self-service MFA endpoints — the user must be password-authenticated, but is + // exempt from the TFA gate so they can complete (or repair) their enrolment + // before they're able to satisfy 2FA on subsequent logins. + .requestMatchers(API_MATCHER.matcher("/api/*/mfa/totp/**")).fullyAuthenticated() .requestMatchers(API_MATCHER.matcher("/api/**")) .access(allOf(authorizationManagers.toArray(new AuthorizationManager[0]))); }).httpBasic(hb -> hb.authenticationEntryPoint(basicAuthenticationEntryPoint())).csrf(AbstractHttpConfigurer::disable) diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/service/MfaFactorBackedTwoFactorServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/service/MfaFactorBackedTwoFactorServiceImpl.java index ad9f49b0d..2338038eb 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/service/MfaFactorBackedTwoFactorServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/service/MfaFactorBackedTwoFactorServiceImpl.java @@ -39,6 +39,7 @@ import org.apache.fineract.useradministration.domain.AppUser; import org.apache.fineract.useradministration.mfa.domain.MfaFactorType; import org.apache.fineract.useradministration.mfa.domain.UserMfaFactor; import org.apache.fineract.useradministration.mfa.domain.UserMfaFactorRepository; +import org.apache.fineract.useradministration.mfa.totp.service.TotpService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -76,13 +77,14 @@ public class MfaFactorBackedTwoFactorServiceImpl implements TwoFactorService { private final TFAccessTokenRepository tfAccessTokenRepository; private final AccessTokenGenerationService accessTokenGenerationService; private final TwoFactorConfigurationService configurationService; + private final TotpService totpService; @Autowired public MfaFactorBackedTwoFactorServiceImpl(final UserMfaFactorRepository userMfaFactorRepository, final LoginOtpService smsLoginOtpService, final EmailLoginOtpService emailLoginOtpService, final OTPRequestRepository otpRequestRepository, final TFAccessTokenRepository tfAccessTokenRepository, final AccessTokenGenerationService accessTokenGenerationService, - final TwoFactorConfigurationService configurationService) { + final TwoFactorConfigurationService configurationService, final TotpService totpService) { this.userMfaFactorRepository = userMfaFactorRepository; this.smsLoginOtpService = smsLoginOtpService; this.emailLoginOtpService = emailLoginOtpService; @@ -90,6 +92,7 @@ public class MfaFactorBackedTwoFactorServiceImpl implements TwoFactorService { this.tfAccessTokenRepository = tfAccessTokenRepository; this.accessTokenGenerationService = accessTokenGenerationService; this.configurationService = configurationService; + this.totpService = totpService; } // ── Delivery methods ───────────────────────────────────────────────────── @@ -103,9 +106,15 @@ public class MfaFactorBackedTwoFactorServiceImpl implements TwoFactorService { } final String name = mapFactorTypeToDeliveryName(factor.getFactorType()); if (name == null) { - continue; // TOTP / TOKEN not supported by this OTP path + continue; // TOKEN isn't routed through this OTP path + } + // TOTP has no SMS-style destination — fall back to the issuer label stored on the + // factor row so the picker shows "Google Authenticator" / "CBSnexora" instead of an + // empty cell. SMS/EMAIL still require a real destination to be shown. + String target = factor.getDestination(); + if ((target == null || target.isBlank()) && factor.getFactorType() == MfaFactorType.TOTP) { + target = "Google Authenticator"; } - final String target = factor.getDestination(); if (target == null || target.isBlank()) { continue; } @@ -123,18 +132,34 @@ public class MfaFactorBackedTwoFactorServiceImpl implements TwoFactorService { } final boolean isSms = TwoFactorConstants.SMS_DELIVERY_METHOD_NAME.equalsIgnoreCase(deliveryMethodName); final boolean isEmail = TwoFactorConstants.EMAIL_DELIVERY_METHOD_NAME.equalsIgnoreCase(deliveryMethodName); - if (!isSms && !isEmail) { + final boolean isTotp = TwoFactorConstants.TOTP_DELIVERY_METHOD_NAME.equalsIgnoreCase(deliveryMethodName); + if (!isSms && !isEmail && !isTotp) { throw new OTPDeliveryMethodInvalidException(); } // The user must have a verified factor of the requested type. - final MfaFactorType type = isSms ? MfaFactorType.SMS : MfaFactorType.EMAIL; + final MfaFactorType type = isSms ? MfaFactorType.SMS : (isEmail ? MfaFactorType.EMAIL : MfaFactorType.TOTP); final UserMfaFactor factor = userMfaFactorRepository.findByAppUser_IdAndFactorType(user.getId(), type) .filter(UserMfaFactor::isVerified) .filter(f -> f.getDisabledOn() == null) .orElseThrow(OTPDeliveryMethodInvalidException::new); - // Send OTP via the appropriate channel (LincPay / SMTP) and persist the audit row. + // TOTP is a "no delivery" factor — the code is generated locally by the user's authenticator + // app. We still create an OTPRequest so the existing two-step /twofactor → /twofactor/validate + // UI flow continues to work; the validate call routes back here and we verify against the + // factor's stored secret instead of round-tripping to LincPay / SMTP. + if (isTotp) { + final OTPDeliveryMethod totpMethod = new OTPDeliveryMethod().setName(deliveryMethodName) + .setTarget(factor.getDestination() != null ? factor.getDestination() : "Google Authenticator"); + final int liveTime = configurationService.getOTPTokenLiveTime(); + // Stash the factor id in the token field; createAccessTokenFromOTP reads it to find the + // secret. Validity window is the same as OTP so the UI's countdown is consistent. + final OTPRequest request = OTPRequest.create(String.valueOf(factor.getId()), liveTime, extendedAccessToken, totpMethod); + otpRequestRepository.addOTPRequest(user, request); + return request; + } + + // SMS / EMAIL: send via the appropriate channel (LincPay / SMTP) and persist the audit row. final OtpGenerateResponse result = isSms ? smsLoginOtpService.generate(user.getUsername(), null, null) : emailLoginOtpService.generate(user.getUsername(), null, null); @@ -165,6 +190,42 @@ public class MfaFactorBackedTwoFactorServiceImpl implements TwoFactorService { throw new OTPTokenInvalidException(); } + final OTPMetadata metadata = otpRequest.getMetadata(); + final String channel = metadata != null && metadata.getDeliveryMethod() != null + ? metadata.getDeliveryMethod().getName() + : null; + + // TOTP path: no LincPay / SMTP round-trip. The token field carries the factor id, not an + // otpLog id. Look up the secret on that factor and verify locally against the user's + // 6-digit code. + if (TwoFactorConstants.TOTP_DELIVERY_METHOD_NAME.equalsIgnoreCase(channel)) { + final Long factorId; + try { + factorId = Long.parseLong(otpRequest.getToken()); + } catch (final NumberFormatException e) { + throw new OTPTokenInvalidException(); + } + final UserMfaFactor factor = userMfaFactorRepository.findById(factorId).orElseThrow(OTPTokenInvalidException::new); + // Defence in depth: the factor must still belong to the user, still be verified, and not + // disabled. The OTPRequest is per-user keyed already but an admin could have disabled + // the factor between request and validate — refuse to mint a TFA token in that case. + if (!factor.getAppUser().getId().equals(user.getId()) || !factor.isVerified() || factor.getDisabledOn() != null) { + throw new OTPTokenInvalidException(); + } + if (!totpService.verify(factor.getSecret(), otpToken)) { + throw new OTPTokenInvalidException(); + } + otpRequestRepository.deleteOTPRequestForUser(user); + final int liveTime = metadata != null && metadata.isExtendedAccessToken() + ? configurationService.getAccessTokenExtendedLiveTime() + : configurationService.getAccessTokenLiveTime(); + final String token = accessTokenGenerationService.generateRandomToken(); + final TFAccessToken accessToken = TFAccessToken.create(token, user, liveTime); + tfAccessTokenRepository.save(accessToken); + return accessToken; + } + + // SMS / EMAIL path: token field is the m_otp_log id; route to the channel's verify service. final Long otpId; try { otpId = Long.parseLong(otpRequest.getToken()); @@ -172,11 +233,6 @@ public class MfaFactorBackedTwoFactorServiceImpl implements TwoFactorService { throw new OTPTokenInvalidException(); } - final OTPMetadata metadata = otpRequest.getMetadata(); - final String channel = metadata != null && metadata.getDeliveryMethod() != null - ? metadata.getDeliveryMethod().getName() - : null; - final OtpVerifyResponse verifyResult; if (TwoFactorConstants.SMS_DELIVERY_METHOD_NAME.equalsIgnoreCase(channel)) { verifyResult = smsLoginOtpService.verify(otpId, otpToken); @@ -241,7 +297,10 @@ public class MfaFactorBackedTwoFactorServiceImpl implements TwoFactorService { return switch (type) { case SMS -> TwoFactorConstants.SMS_DELIVERY_METHOD_NAME; case EMAIL -> TwoFactorConstants.EMAIL_DELIVERY_METHOD_NAME; - default -> null; // TOTP and TOKEN aren't routed through this OTP path + // TOTP surfaces in the picker so users can choose Google Authenticator. The UI branches + // on this name to skip the "send OTP" step (TOTP has no delivery) and prompt for a code. + case TOTP -> TwoFactorConstants.TOTP_DELIVERY_METHOD_NAME; + default -> null; // TOKEN / DSC handled separately }; } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/api/TotpEnrollmentApiResource.java b/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/api/TotpEnrollmentApiResource.java new file mode 100644 index 000000000..aa48f2a16 --- /dev/null +++ b/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/api/TotpEnrollmentApiResource.java @@ -0,0 +1,93 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.fineract.useradministration.mfa.totp.api; + +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import java.util.Map; +import lombok.RequiredArgsConstructor; +import org.apache.fineract.useradministration.mfa.totp.data.TotpSetupResponse; +import org.apache.fineract.useradministration.mfa.totp.service.TotpEnrollmentService; +import org.springframework.stereotype.Component; + +/** + * Self-service Google Authenticator (TOTP) device mapping. + * + *
    + *
  • POST /v1/mfa/totp/setup — generate a secret + QR; UI shows the QR for the user to + * scan with Google Authenticator / Authy / Microsoft Authenticator. Factor is stored + * as unverified.
  • + *
  • POST /v1/mfa/totp/verify — body {@code {"code":"123456"}}; on match the factor is + * flipped to verified, and from then on counts toward the 2FA login gate.
  • + *
+ * + *

Disabling the factor uses the existing DELETE /v1/mfa/factors/{id}. + */ +@Path("/v1/mfa/totp") +@Component +@Tag(name = "MFA TOTP", description = "Google Authenticator device mapping for the current user") +@RequiredArgsConstructor +public class TotpEnrollmentApiResource { + + private final TotpEnrollmentService enrollmentService; + + @POST + @Path("setup") + @Produces(MediaType.APPLICATION_JSON) + @Operation(summary = "Start TOTP device mapping. Generates a fresh secret and returns the QR " + + "data URI for the authenticator app to scan. Factor row is saved as unverified.") + public TotpSetupResponse setup() { + return enrollmentService.setupForCurrentUser(); + } + + @POST + @Path("verify") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + @Operation(summary = "Confirm device mapping by verifying the first 6-digit code from the " + + "authenticator app. On success the factor is marked verified and starts gating logins.") + public Map verify(final String body) { + final JsonObject payload = parse(body); + final String code = stringOrNull(payload, "code"); + final Long factorId = enrollmentService.verifyForCurrentUser(code); + return Map.of("verified", true, "factorId", factorId); + } + + private JsonObject parse(final String body) { + if (body == null || body.isBlank()) { + return new JsonObject(); + } + try { + return JsonParser.parseString(body).getAsJsonObject(); + } catch (final Exception e) { + return new JsonObject(); + } + } + + private String stringOrNull(final JsonObject obj, final String key) { + return obj.has(key) && obj.get(key).isJsonPrimitive() ? obj.get(key).getAsString() : null; + } +} diff --git a/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/data/TotpSetupResponse.java b/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/data/TotpSetupResponse.java new file mode 100644 index 000000000..34517df04 --- /dev/null +++ b/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/data/TotpSetupResponse.java @@ -0,0 +1,51 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.fineract.useradministration.mfa.totp.data; + +import lombok.Builder; +import lombok.Data; + +/** + * Response payload for POST /v1/mfa/totp/setup. The UI renders {@link #qrDataUri} as an + * <img> for scanning and shows {@link #secret} below for the "can't scan, enter manually" + * fallback. {@link #otpAuthUrl} is the raw otpauth:// link — useful if you want a + * "click to add" button on mobile that deep-links into the authenticator app. + * + *

The factor is persisted as unverified; the UI must then POST /v1/mfa/totp/verify + * with a code from the user's app to flip it to verified. + */ +@Data +@Builder +public class TotpSetupResponse { + + /** The TOTP secret in base32. Show as the manual-entry fallback under the QR. */ + private String secret; + + /** PNG data URI ("data:image/png;base64,...") that the UI can drop into an <img src>. */ + private String qrDataUri; + + /** Raw otpauth:// URL the QR encodes. Useful for "click to add" deep links on mobile. */ + private String otpAuthUrl; + + /** Issuer label shown inside the authenticator app (e.g. "CBSnexora"). */ + private String issuer; + + /** The factor row id created on the server in PENDING (unverified) state. */ + private Long factorId; +} diff --git a/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/service/TotpEnrollmentService.java b/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/service/TotpEnrollmentService.java new file mode 100644 index 000000000..95eb13d97 --- /dev/null +++ b/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/service/TotpEnrollmentService.java @@ -0,0 +1,151 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.fineract.useradministration.mfa.totp.service; + +import dev.samstevens.totp.exceptions.QrGenerationException; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; +import lombok.RequiredArgsConstructor; +import org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityException; +import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext; +import org.apache.fineract.useradministration.domain.AppUser; +import org.apache.fineract.useradministration.mfa.domain.MfaFactorType; +import org.apache.fineract.useradministration.mfa.domain.UserMfaFactor; +import org.apache.fineract.useradministration.mfa.domain.UserMfaFactorRepository; +import org.apache.fineract.useradministration.mfa.totp.data.TotpSetupResponse; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * Two-step TOTP enrolment (device mapping): + * + *

    + *
  1. {@link #setupForCurrentUser()} — generate a fresh secret, upsert the user's TOTP factor + * row with {@code verified=false}, return the secret + QR data URI for the UI to display.
  2. + *
  3. {@link #verifyForCurrentUser(String)} — user types a 6-digit code from their authenticator + * app; if it matches the stored secret, flip {@code verified=true}. From then on the factor + * counts toward the login 2FA gate.
  4. + *
+ * + *

Re-running setup before verifying is fine — it just overwrites the pending secret with a new + * one (the old QR becomes useless). Re-running setup AFTER verification is rejected unless the + * caller first disables the existing TOTP factor; we don't want a single bad click to silently + * unbind a working authenticator app. + */ +@Service +@RequiredArgsConstructor +public class TotpEnrollmentService { + + private static final Logger LOG = LoggerFactory.getLogger(TotpEnrollmentService.class); + + private final PlatformSecurityContext securityContext; + private final UserMfaFactorRepository factorRepository; + private final TotpService totpService; + + @Value("${fineract.mfa.totp.issuer:CBSnexora}") + private String issuer; + + @Transactional + public TotpSetupResponse setupForCurrentUser() { + final AppUser user = securityContext.authenticatedUser(); + final UserMfaFactor existing = factorRepository.findByAppUser_IdAndFactorType(user.getId(), MfaFactorType.TOTP).orElse(null); + + // Guardrail: refuse to overwrite a working TOTP secret. The user must explicitly disable + // the current factor first (DELETE /v1/mfa/factors/{id}) — otherwise a single accidental + // "Set up Google Authenticator" click would silently invalidate their device. + if (existing != null && existing.isVerified() && existing.getDisabledOn() == null) { + throw new PlatformDataIntegrityException("error.msg.user.mfa.totp.already.enrolled", + "Google Authenticator is already set up for this user. Disable the existing entry first to re-enrol."); + } + + final String secret = totpService.generateSecret(); + final String username = user.getUsername(); + + final UserMfaFactor factor = existing != null ? existing : new UserMfaFactor(); + factor.setAppUser(user); + factor.setFactorType(MfaFactorType.TOTP); + factor.setSecret(secret); + // TOTP has no SMS-like destination — label the factor with the issuer so the picker shows + // something readable ("Google Authenticator" / "CBSnexora") instead of an empty cell. + factor.setDestination(issuer); + factor.setVerified(false); + factor.setVerifiedOn(null); + factor.setDisabledOn(null); + factor.setDisabledBy(null); + final UserMfaFactor saved = factorRepository.saveAndFlush(factor); + + final String otpAuthUrl = totpService.buildOtpAuthUrl(username, secret); + final String qrDataUri; + try { + qrDataUri = totpService.generateQrDataUri(username, secret); + } catch (final QrGenerationException e) { + LOG.error("TOTP QR generation failed for user {}: {}", username, e.getMessage()); + throw new PlatformDataIntegrityException("error.msg.user.mfa.totp.qr.failed", + "Could not render the Google Authenticator QR code. Try again or use the manual-entry secret."); + } + + LOG.info("TOTP enrolment started — user={}, factorId={}", username, saved.getId()); + + return TotpSetupResponse.builder() + .secret(secret) + .qrDataUri(qrDataUri) + .otpAuthUrl(otpAuthUrl) + .issuer(issuer) + .factorId(saved.getId()) + .build(); + } + + /** + * Verifies the user-supplied 6-digit code against the pending secret and, on match, promotes + * the factor to verified. Returns the factor id so the UI can show the user the row id in any + * follow-up "manage MFA" screen. + */ + @Transactional + public Long verifyForCurrentUser(final String code) { + if (code == null || code.isBlank()) { + throw new PlatformDataIntegrityException("error.msg.user.mfa.totp.code.required", "code is required"); + } + final AppUser user = securityContext.authenticatedUser(); + final UserMfaFactor factor = factorRepository.findByAppUser_IdAndFactorType(user.getId(), MfaFactorType.TOTP) + .orElseThrow(() -> new PlatformDataIntegrityException("error.msg.user.mfa.totp.not.set.up", + "Google Authenticator has not been set up — call POST /v1/mfa/totp/setup first.")); + + if (factor.getSecret() == null || factor.getSecret().isBlank()) { + throw new PlatformDataIntegrityException("error.msg.user.mfa.totp.secret.missing", + "Stored TOTP secret is empty — re-run setup."); + } + + if (!totpService.verify(factor.getSecret(), code)) { + throw new PlatformDataIntegrityException("error.msg.user.mfa.totp.code.invalid", + "Code did not match. Make sure your device clock is correct and try the next one."); + } + + factor.setVerified(true); + factor.setVerifiedOn(OffsetDateTime.now(ZoneOffset.UTC)); + factor.setDisabledOn(null); + factor.setDisabledBy(null); + final UserMfaFactor saved = factorRepository.saveAndFlush(factor); + + LOG.info("TOTP verified — user={}, factorId={}", user.getUsername(), saved.getId()); + return saved.getId(); + } +} diff --git a/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/service/TotpService.java b/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/service/TotpService.java new file mode 100644 index 000000000..95ed67802 --- /dev/null +++ b/fineract-provider/src/main/java/org/apache/fineract/useradministration/mfa/totp/service/TotpService.java @@ -0,0 +1,106 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.fineract.useradministration.mfa.totp.service; + +import dev.samstevens.totp.code.CodeGenerator; +import dev.samstevens.totp.code.CodeVerifier; +import dev.samstevens.totp.code.DefaultCodeGenerator; +import dev.samstevens.totp.code.DefaultCodeVerifier; +import dev.samstevens.totp.code.HashingAlgorithm; +import dev.samstevens.totp.exceptions.QrGenerationException; +import dev.samstevens.totp.qr.QrData; +import dev.samstevens.totp.qr.QrGenerator; +import dev.samstevens.totp.qr.ZxingPngQrGenerator; +import dev.samstevens.totp.secret.DefaultSecretGenerator; +import dev.samstevens.totp.secret.SecretGenerator; +import dev.samstevens.totp.time.SystemTimeProvider; +import dev.samstevens.totp.time.TimeProvider; +import dev.samstevens.totp.util.Utils; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +/** + * TOTP (Google Authenticator) primitives: secret generation, otpauth URL, QR-image data URI, + * and code verification. SHA1 / 6 digits / 30 second period — the standard combo every consumer + * authenticator app (Google Authenticator, Authy, Microsoft Authenticator, 1Password) accepts + * without configuration. + */ +@Service +public class TotpService { + + private final SecretGenerator secretGenerator = new DefaultSecretGenerator(); + private final QrGenerator qrGenerator = new ZxingPngQrGenerator(); + private final CodeGenerator codeGenerator = new DefaultCodeGenerator(HashingAlgorithm.SHA1, 6); + private final TimeProvider timeProvider = new SystemTimeProvider(); + private final CodeVerifier codeVerifier = new DefaultCodeVerifier(codeGenerator, timeProvider); + + /** + * Issuer label shown inside the authenticator app (right above the 6-digit code). Override per + * deployment with FINERACT_MFA_TOTP_ISSUER — the label is purely cosmetic but appears in the + * scanned QR, so it should match the bank's brand to avoid confusing users. + */ + @Value("${fineract.mfa.totp.issuer:CBSnexora}") + private String issuer; + + public String generateSecret() { + return secretGenerator.generate(); + } + + /** + * Build the standard otpauth:// URL that the QR encodes. Returned alongside the QR so the UI + * can offer a "can't scan? enter manually" fallback that the authenticator app can deep-link. + */ + public String buildOtpAuthUrl(final String username, final String secret) { + final String label = issuer + ":" + username; + return String.format("otpauth://totp/%s?secret=%s&issuer=%s&algorithm=SHA1&digits=6&period=30", + urlEncode(label), secret, urlEncode(issuer)); + } + + /** PNG data-URI (base64) suitable for putting straight into an <img src> attribute. */ + public String generateQrDataUri(final String username, final String secret) throws QrGenerationException { + final QrData data = new QrData.Builder() + .label(username) + .secret(secret) + .issuer(issuer) + .algorithm(HashingAlgorithm.SHA1) + .digits(6) + .period(30) + .build(); + final byte[] imageData = qrGenerator.generate(data); + return Utils.getDataUriForImage(imageData, qrGenerator.getImageMimeType()); + } + + /** + * Verifies a user-submitted 6-digit code against the stored secret. DefaultCodeVerifier + * accepts a 1-step window on either side of the current 30 s slot, so a code typed in the + * last second of one window is still accepted as the user hits enter. + */ + public boolean verify(final String secret, final String code) { + if (secret == null || code == null) { + return false; + } + return codeVerifier.isValidCode(secret, code.trim()); + } + + private static String urlEncode(final String s) { + return URLEncoder.encode(s, StandardCharsets.UTF_8).replace("+", "%20"); + } +} diff --git a/fineract-security/src/main/java/org/apache/fineract/infrastructure/security/constants/TwoFactorConstants.java b/fineract-security/src/main/java/org/apache/fineract/infrastructure/security/constants/TwoFactorConstants.java index feae3e2ff..e508aaf23 100644 --- a/fineract-security/src/main/java/org/apache/fineract/infrastructure/security/constants/TwoFactorConstants.java +++ b/fineract-security/src/main/java/org/apache/fineract/infrastructure/security/constants/TwoFactorConstants.java @@ -28,6 +28,11 @@ public final class TwoFactorConstants { public static final String SMS_DELIVERY_METHOD_NAME = "sms"; public static final String EMAIL_DELIVERY_METHOD_NAME = "email"; + // TOTP / Google Authenticator. Surfaced in the same /v1/twofactor delivery-method list as + // sms/email so the UI offers it as a sibling option; verification is then code-vs-secret + // (no LincPay round-trip, no SMTP send). The factor row in m_user_mfa_factor.secret holds + // the base32 secret the user paired with their app via /v1/mfa/totp/setup + /verify. + public static final String TOTP_DELIVERY_METHOD_NAME = "totp"; public static final String BYPASS_TWO_FACTOR_PERMISSION = "BYPASS_TWOFACTOR";