DSC-2FA login fix + Individual-only link pickers + Title Case names

- DSC-as-2FA login: UI's claimAndValidate() now calls a new
  AuthenticationService.applyTwoFactorToken(token, liveSeconds) instead of
  validateOTP(). The /v1/login/dsc/{rn}/claim response is already a minted
  TFAccessToken — POSTing it to /twofactor/validate fails because that path
  expects an in-memory OTPRequest. applyTwoFactorToken runs only the
  post-success bookkeeping (interceptor.setTwoFactorAccessToken, setCredentials,
  Authentication Success alert that drives router.navigate(['/']), and
  sessionStorage persist of {token, validFrom, validTo}). Fixes the
  OTPTokenInvalidException users hit after a successful DSC verify+claim.

- Individual-only filter for link-client pickers: ClientTextSearch gains a
  legalFormType field; SearchingClientRepository accepts an Integer legalForm
  value and adds cb.equal(r.get("legalForm"), ...) to the spec.
  ClientSearchService.parseLegalForm tolerates INDIVIDUAL/PERSON/1 and
  NON_INDIVIDUAL/ENTITY/2; unknown = no filter so a typo doesn't blank results.
  UI: clients.service.ts searchByText gains a 7th optional arg; six link
  pickers (guardian, nominee, family-member across create flow and post-create
  tabs) now pass 'INDIVIDUAL'. General client list and signatory picker are
  intentionally unchanged.

- Title-case client names on persistence: ClientWritePlatformServiceJpa
  RepositoryImpl now runs first/middle/last/full name fields through
  toTitleCase() on both create and update paths. "aditya kumar vyas",
  "ADITYA KUMAR VYAS", "Aditya Kumar Vyas" all persist as "Aditya Kumar Vyas".
  Whitespace-split title case; preserves hyphens/apostrophes inside words
  without re-capitalising after them so clerks verifying against ID documents
  see predictable output.

- Migration 0296: unique constraint to prevent duplicate nominee per account
  type (the underlying repository + service changes also persisted in this
  commit complete the enforcement path).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Aditya
2026-05-15 11:50:04 +05:30
co-authored by Claude Opus 4.7
parent e1d7db9b7c
commit 6558ea6998
32 changed files with 89504 additions and 213424 deletions
+16 -2
View File
@@ -36,10 +36,24 @@
"Bash(curl -sk -X POST \"https://localhost:8443/fineract-provider/api/v1/authentication?username=mifos&password=password\" -H 'Fineract-Platform-TenantId: default' -H 'Content-Type: application/json')",
"Bash(curl -sk \"https://localhost:8443/fineract-provider/api/v1/clients?limit=5\" -H \"Fineract-Platform-TenantId: default\" -u \"mifos:password\")",
"Bash(curl -sk -X POST \"https://localhost:8443/fineract-provider/api/v1/authentication\" -H \"Fineract-Platform-TenantId: default\" -H \"Content-Type: application/json\" -d '{\"\"username\"\":\"\"mifos\"\",\"\"password\"\":\"\"password\"\"}')",
"Bash(curl -sk \"https://localhost:8443/fineract-provider/api/v1/clients?limit=5\" -H \"Fineract-Platform-TenantId: default\" -H \"Authorization: Basic bWlmb3M6cGFzc3dvcmQ=\")"
"Bash(curl -sk \"https://localhost:8443/fineract-provider/api/v1/clients?limit=5\" -H \"Fineract-Platform-TenantId: default\" -H \"Authorization: Basic bWlmb3M6cGFzc3dvcmQ=\")",
"Bash(./gradlew :fineract-provider:devRun --console=plain)",
"Bash(curl -k -o /tmp/test-helper.jar -w \"HTTP %{http_code} size=%{size_download} bytes\\\\n\" https://localhost:8443/fineract-provider/api/v1/dsc/helper.jar)",
"Bash(powershell -Command \"Get-Process java -ErrorAction SilentlyContinue | Select-Object Id, StartTime | Format-List\")",
"Bash(./gradlew :fineract-provider:compileJava --console=plain)",
"Bash(./gradlew :fineract-provider:compileJava :fineract-security:compileJava -q)",
"Bash(./gradlew :fineract-provider:compileJava -q)",
"PowerShell(Get-NetTCPConnection -LocalPort 8443 -State Listen -ErrorAction SilentlyContinue | Select-Object LocalPort, OwningProcess, @{Name='ProcessName';Expression={\\(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue\\).ProcessName}}, @{Name='StartTime';Expression={\\(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue\\).StartTime}})",
"PowerShell(Get-NetTCPConnection -LocalPort 8443 -ErrorAction SilentlyContinue | Format-Table LocalPort, State, OwningProcess, @{Name='ProcessName';Expression={\\(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue\\).ProcessName}} -AutoSize; netstat -ano | Select-String \":8443\")",
"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)"
],
"additionalDirectories": [
"c:\\Users\\adity\\Music\\CBS\\cfcfrms-bank-api"
"c:\\Users\\adity\\Music\\CBS\\cfcfrms-bank-api",
"C:\\Users\\adity\\Music\\CBS\\UI\\web-app\\src\\assets\\translations",
"C:\\Users\\adity\\Music\\CBS\\fineract\\.git\\rebase-merge"
]
},
"hooks": {
@@ -43,4 +43,21 @@ public interface ClientNomineeRepository extends JpaRepository<ClientNominee, Lo
@Query("SELECT COUNT(n) FROM ClientNominee n WHERE n.accountNo = :accountNo AND n.accountType = :accountType AND n.isDeleted = false")
long countByAccountNoAndAccountType(@Param("accountNo") String accountNo, @Param("accountType") String accountType);
/**
* Counts non-deleted nominee rows that link {@code nomineeClientId} as a nominee under
* {@code clientId} for the given {@code accountType}. Backs the rule that the same person
* may not be linked as a nominee more than once per (account owner, account type).
* {@code excludeNomineeId} is set on update so a row doesn't conflict with itself.
*/
@Query("SELECT COUNT(n) FROM ClientNominee n "
+ "WHERE n.client.id = :clientId "
+ "AND n.nomineeClient.id = :nomineeClientId "
+ "AND n.accountType = :accountType "
+ "AND n.isDeleted = false "
+ "AND (:excludeNomineeId IS NULL OR n.id <> :excludeNomineeId)")
long countActiveByClientNomineeAndAccountType(@Param("clientId") Long clientId,
@Param("nomineeClientId") Long nomineeClientId,
@Param("accountType") String accountType,
@Param("excludeNomineeId") Long excludeNomineeId);
}
@@ -23,5 +23,10 @@ import org.springframework.data.domain.Pageable;
public interface SearchingClientRepository {
Page<SearchedClient> searchByText(String searchText, Pageable pageable, String officeHierarchy, boolean activeOnly);
/**
* @param legalFormValue null = no filter; 1 = Individual only; 2 = Non-Individual only.
* Driven by the legal-form enum on Client (LegalForm.PERSON / .ENTITY).
*/
Page<SearchedClient> searchByText(String searchText, Pageable pageable, String officeHierarchy, boolean activeOnly,
Integer legalFormValue);
}
@@ -52,7 +52,8 @@ public class SearchingClientRepositoryImpl implements SearchingClientRepository
private final CriteriaQueryFactory criteriaQueryFactory;
@Override
public Page<SearchedClient> searchByText(String searchText, Pageable pageable, String officeHierarchy, boolean activeOnly) {
public Page<SearchedClient> searchByText(String searchText, Pageable pageable, String officeHierarchy, boolean activeOnly,
Integer legalFormValue) {
/*
* this whole thing can be replaced with Spring Data JPA 3+ with a findBy(Specification, Pageable) call but at
* this point the upgrade is too costly
@@ -85,6 +86,13 @@ public class SearchingClientRepositoryImpl implements SearchingClientRepository
predicates.add(cb.equal(r.get("status"), ClientStatus.ACTIVE.getValue()));
}
// Restrict to one legal form when requested. Used by guardian/nominee/family-member
// pickers so non-individual entities (companies, partnerships) never appear as
// selectable parties — they can never legally hold those relationships.
if (legalFormValue != null) {
predicates.add(cb.equal(r.get("legalForm"), legalFormValue));
}
return cb.and(predicates.toArray(new Predicate[0]));
};
criteriaQueryFactory.applySpecificationToCriteria(root, spec, query);
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,772 @@
2026-05-10 11:26:08.318 ERROR [Scheduler1group4_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Update SMS Outbound with Campaign MessageTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 05:00:00 IST 2026
2026-05-10 11:26:09.488 ERROR [Scheduler1group4_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Send Messages to SMS GatewayTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 05:00:00 IST 2026
2026-05-10 11:26:09.490 ERROR [Scheduler1group4_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Get Delivery Reports from SMS GatewayTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 05:00:00 IST 2026
2026-05-10 11:26:13.840 ERROR [Scheduler1group1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Post Interest For SavingsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:00:00 IST 2026
2026-05-10 11:26:13.846 ERROR [Scheduler1group1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Update Savings Dormant AccountsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:00:00 IST 2026
2026-05-10 11:26:13.848 ERROR [Scheduler1group1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Transfer Interest To SavingsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:02:00 IST 2026
2026-05-10 11:26:15.320 INFO [Scheduler1group4_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_SMS_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] launched with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:15.320 INFO [Scheduler1group1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=POST_INTEREST_FOR_SAVINGS]] launched with the following parameters: [{'batch-size':'{value=100, type=class java.lang.String, identifying=true}','run.id':'{value=24, type=class java.lang.Long, identifying=true}','thread-pool-size':'{value=10, type=class java.lang.String, identifying=true}'}]
2026-05-10 11:26:15.574 INFO [Scheduler1group1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [POST_INTEREST_FOR_SAVINGS]
2026-05-10 11:26:15.589 INFO [Scheduler1group4_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_SMS_OUTBOUND_WITH_CAMPAIGN_MESSAGE]
2026-05-10 11:26:16.091 ERROR [Scheduler1group3_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Update Non Performing AssetsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:00:00 IST 2026
2026-05-10 11:26:16.097 ERROR [Scheduler1group3_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Add Accrual Transactions For Loans With Income Posted As TransactionsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:01:00 IST 2026
2026-05-10 11:26:16.102 ERROR [Scheduler1group3_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Recalculate Interest For LoansTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:01:00 IST 2026
2026-05-10 11:26:16.106 ERROR [Scheduler1group3_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Add Accrual TransactionsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:01:00 IST 2026
2026-05-10 11:26:16.113 ERROR [Scheduler1group3_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Add Periodic Accrual TransactionsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:02:00 IST 2026
2026-05-10 11:26:16.440 INFO [Scheduler1group3_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_NPA]] launched with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:16.461 INFO [Scheduler1group3_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_NPA]
2026-05-10 11:26:16.573 INFO [Scheduler1group4_Worker-1] o.s.batch.core.step.AbstractStep : Step: [UPDATE_SMS_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 977ms
2026-05-10 11:26:16.664 INFO [Scheduler1group4_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_SMS_OUTBOUND_WITH_CAMPAIGN_MESSAGE]] completed with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 1s137ms
2026-05-10 11:26:17.126 INFO [Scheduler1group1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [POST_INTEREST_FOR_SAVINGS] executed in 1s545ms
2026-05-10 11:26:17.151 INFO [Scheduler1group1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=POST_INTEREST_FOR_SAVINGS]] completed with the following parameters: [{'batch-size':'{value=100, type=class java.lang.String, identifying=true}','run.id':'{value=24, type=class java.lang.Long, identifying=true}','thread-pool-size':'{value=10, type=class java.lang.String, identifying=true}'}] and the following status: [COMPLETED] in 1s627ms
2026-05-10 11:26:17.168 ERROR [Scheduler1group4_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Send Messages to SMS GatewayTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 11:26:09 IST 2026
2026-05-10 11:26:17.197 ERROR [Scheduler1group4_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Get Delivery Reports from SMS GatewayTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 11:26:09 IST 2026
2026-05-10 11:26:17.381 INFO [Scheduler1group1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_SAVINGS_DORMANT_ACCOUNTS]] launched with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:17.430 INFO [Scheduler1group1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_SAVINGS_DORMANT_ACCOUNTS]
2026-05-10 11:26:17.498 INFO [Scheduler1group3_Worker-1] o.s.batch.core.step.AbstractStep : Step: [UPDATE_NPA] executed in 1s35ms
2026-05-10 11:26:17.518 INFO [Scheduler1group3_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_NPA]] completed with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 1s68ms
2026-05-10 11:26:17.557 INFO [Scheduler1group1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [UPDATE_SAVINGS_DORMANT_ACCOUNTS] executed in 125ms
2026-05-10 11:26:17.578 INFO [Scheduler1group1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_SAVINGS_DORMANT_ACCOUNTS]] completed with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 188ms
2026-05-10 11:26:17.609 INFO [Scheduler1group4_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_MESSAGES_TO_SMS_GATEWAY]] launched with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:17.623 INFO [Scheduler1group4_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_MESSAGES_TO_SMS_GATEWAY]
2026-05-10 11:26:17.758 INFO [Scheduler1group1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=TRANSFER_INTEREST_TO_SAVINGS]] launched with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:17.776 INFO [Scheduler1group1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [TRANSFER_INTEREST_TO_SAVINGS]
2026-05-10 11:26:17.777 INFO [Scheduler1group3_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=ADD_PERIODIC_ACCRUAL_ENTRIES_FOR_LOANS_WITH_INCOME_POSTED_AS_TRANSACTIONS]] launched with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:17.800 INFO [Scheduler1group3_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [ADD_PERIODIC_ACCRUAL_ENTRIES_FOR_LOANS_WITH_INCOME_POSTED_AS_TRANSACTIONS]
2026-05-10 11:26:18.346 INFO [Scheduler1group3_Worker-1] o.s.batch.core.step.AbstractStep : Step: [ADD_PERIODIC_ACCRUAL_ENTRIES_FOR_LOANS_WITH_INCOME_POSTED_AS_TRANSACTIONS] executed in 546ms
2026-05-10 11:26:18.366 INFO [Scheduler1group3_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=ADD_PERIODIC_ACCRUAL_ENTRIES_FOR_LOANS_WITH_INCOME_POSTED_AS_TRANSACTIONS]] completed with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 577ms
2026-05-10 11:26:18.717 INFO [Scheduler1group3_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=RECALCULATE_INTEREST_FOR_LOAN]] launched with the following parameters: [{'batch-size':'{value=100, type=class java.lang.String, identifying=true}','run.id':'{value=24, type=class java.lang.Long, identifying=true}','officeId':'{value=1, type=class java.lang.String, identifying=true}','thread-pool-size':'{value=10, type=class java.lang.String, identifying=true}'}]
2026-05-10 11:26:18.746 INFO [Scheduler1group3_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [RECALCULATE_INTEREST_FOR_LOAN]
2026-05-10 11:26:18.985 INFO [Scheduler1group1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [TRANSFER_INTEREST_TO_SAVINGS] executed in 1s208ms
2026-05-10 11:26:18.999 INFO [Scheduler1group1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=TRANSFER_INTEREST_TO_SAVINGS]] completed with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 1s237ms
2026-05-10 11:26:19.515 INFO [Scheduler1group3_Worker-1] o.s.batch.core.step.AbstractStep : Step: [RECALCULATE_INTEREST_FOR_LOAN] executed in 768ms
2026-05-10 11:26:19.533 INFO [Scheduler1group3_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=RECALCULATE_INTEREST_FOR_LOAN]] completed with the following parameters: [{'batch-size':'{value=100, type=class java.lang.String, identifying=true}','run.id':'{value=24, type=class java.lang.Long, identifying=true}','officeId':'{value=1, type=class java.lang.String, identifying=true}','thread-pool-size':'{value=10, type=class java.lang.String, identifying=true}'}] and the following status: [COMPLETED] in 805ms
2026-05-10 11:26:19.638 INFO [Scheduler1group3_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=ADD_ACCRUAL_ENTRIES]] launched with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:19.681 INFO [Scheduler1group3_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [ADD_ACCRUAL_ENTRIES]
2026-05-10 11:26:19.707 INFO [Scheduler1group4_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_MESSAGES_TO_SMS_GATEWAY] executed in 2s83ms
2026-05-10 11:26:19.732 INFO [Scheduler1group4_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=SEND_MESSAGES_TO_SMS_GATEWAY]] completed with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 2s116ms
2026-05-10 11:26:19.840 INFO [Scheduler1group4_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=GET_DELIVERY_REPORTS_FROM_SMS_GATEWAY]] launched with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:19.859 INFO [Scheduler1group4_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [GET_DELIVERY_REPORTS_FROM_SMS_GATEWAY]
2026-05-10 11:26:19.952 INFO [Scheduler1group4_Worker-1] o.s.batch.core.step.AbstractStep : Step: [GET_DELIVERY_REPORTS_FROM_SMS_GATEWAY] executed in 92ms
2026-05-10 11:26:19.963 INFO [Scheduler1group4_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=GET_DELIVERY_REPORTS_FROM_SMS_GATEWAY]] completed with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 117ms
2026-05-10 11:26:20.350 WARN [fineract_default_pool:housekeeper] com.zaxxer.hikari.pool.HikariPool : fineract_default_pool - Thread starvation or clock leap detected (housekeeper delta=17h27m55s919ms837µs800ns).
2026-05-10 11:26:22.060 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: Sat May 09 17:59:00 IST 2026
2026-05-10 11:26:22.069 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: Sat May 09 18:00:00 IST 2026
2026-05-10 11:26:22.069 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: Sat May 09 18:00:00 IST 2026
2026-05-10 11:26:22.073 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: Sat May 09 18:00:00 IST 2026
2026-05-10 11:26:22.075 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: Sat May 09 18:00:00 IST 2026
2026-05-10 11:26:22.077 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Loan Delinquency ClassificationTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sat May 09 22:00:00 IST 2026
2026-05-10 11:26:22.079 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Apply Annual Fee For SavingsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sat May 09 22:20:00 IST 2026
2026-05-10 11:26:22.081 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Apply penalty to overdue loansTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:00:00 IST 2026
2026-05-10 11:26:22.083 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Execute Standing InstructionTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:00:00 IST 2026
2026-05-10 11:26:22.085 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Generate Loan Loss ProvisioningTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:00:00 IST 2026
2026-05-10 11:26:22.089 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Post Dividends For SharesTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:00:00 IST 2026
2026-05-10 11:26:22.089 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Update Deposit Accounts Maturity detailsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:00:00 IST 2026
2026-05-10 11:26:22.091 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Execute All Dirty JobsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:01:00 IST 2026
2026-05-10 11:26:22.095 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Transfer Fee For Loans From SavingsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:01:00 IST 2026
2026-05-10 11:26:22.097 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Update Accounting Running BalancesTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:01:00 IST 2026
2026-05-10 11:26:22.097 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Update Loan Arrears AgeingTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:01:00 IST 2026
2026-05-10 11:26:22.099 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Update Trial Balance DetailsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:01:00 IST 2026
2026-05-10 11:26:22.099 ERROR [Scheduler1_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Generate Mandatory Savings ScheduleTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 00:05:00 IST 2026
2026-05-10 11:26:23.318 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=FETCH_RBI_RSS_FEEDS]] launched with the following parameters: [{'run.id':'{value=70, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:23.341 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1435, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:23.359 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=LOAN_DELINQUENCY_CLASSIFICATION]] launched with the following parameters: [{'run.id':'{value=20, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:23.371 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=992, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:23.378 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=APPLY_ANNUAL_FEE_FOR_SAVINGS]] launched with the following parameters: [{'run.id':'{value=21, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:23.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=992, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:23.407 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [FETCH_RBI_RSS_FEEDS]
2026-05-10 11:26:23.435 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 11:26:23.443 INFO [Scheduler1_Worker-7] o.a.f.i.r.j.f.FetchRbiFeedsTasklet : Starting RBI RSS feed fetch job...
2026-05-10 11:26:23.452 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [LOAN_DELINQUENCY_CLASSIFICATION]
2026-05-10 11:26:23.455 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]
2026-05-10 11:26:23.462 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS]
2026-05-10 11:26:23.465 INFO [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Starting fetch for all 5 feed categories
2026-05-10 11:26:23.465 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [APPLY_ANNUAL_FEE_FOR_SAVINGS]
2026-05-10 11:26:23.466 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/pressreleases_rss.xml
2026-05-10 11:26:23.540 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 105ms
2026-05-10 11:26:23.767 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [APPLY_ANNUAL_FEE_FOR_SAVINGS] executed in 299ms
2026-05-10 11:26:23.822 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 366ms
2026-05-10 11:26:23.822 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 360ms
2026-05-10 11:26:23.848 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1435, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 495ms
2026-05-10 11:26:23.854 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=APPLY_ANNUAL_FEE_FOR_SAVINGS]] completed with the following parameters: [{'run.id':'{value=21, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 463ms
2026-05-10 11:26:23.861 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=992, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 477ms
2026-05-10 11:26:23.873 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=992, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 465ms
2026-05-10 11:26:23.880 INFO [Scheduler1group3_Worker-1] o.s.batch.core.step.AbstractStep : Step: [ADD_ACCRUAL_ENTRIES] executed in 4s198ms
2026-05-10 11:26:23.932 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=12924, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:24.082 INFO [Scheduler1group3_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=ADD_ACCRUAL_ENTRIES]] completed with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 4s376ms
2026-05-10 11:26:24.091 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=APPLY_CHARGE_TO_OVERDUE_LOAN_INSTALLMENT]] launched with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:24.106 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:26:24.118 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_STANDING_INSTRUCTIONS]] launched with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:24.124 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=GENERATE_LOANLOSS_PROVISIONING]] launched with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:24.185 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [APPLY_CHARGE_TO_OVERDUE_LOAN_INSTALLMENT]
2026-05-10 11:26:24.212 ERROR [Scheduler1group3_QuartzSchedulerThread] o.a.f.i.j.s.SchedulerTriggerListener : triggerMisfired() trigger=Trigger 'DEFAULT.Add Periodic Accrual TransactionsTrigger1': triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Sun May 10 11:26:16 IST 2026
2026-05-10 11:26:24.252 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [GENERATE_LOANLOSS_PROVISIONING]
2026-05-10 11:26:24.266 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 157ms
2026-05-10 11:26:24.271 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_STANDING_INSTRUCTIONS]
2026-05-10 11:26:24.350 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [GENERATE_LOANLOSS_PROVISIONING] executed in 97ms
2026-05-10 11:26:24.475 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [APPLY_CHARGE_TO_OVERDUE_LOAN_INSTALLMENT] executed in 289ms
2026-05-10 11:26:24.491 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=12924, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 491ms
2026-05-10 11:26:24.496 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=GENERATE_LOANLOSS_PROVISIONING]] completed with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 362ms
2026-05-10 11:26:24.517 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=APPLY_CHARGE_TO_OVERDUE_LOAN_INSTALLMENT]] completed with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 416ms
2026-05-10 11:26:24.562 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=POST_DIVIDENTS_FOR_SHARES]] launched with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:24.667 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_DIRTY_JOBS]] launched with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:24.699 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_STANDING_INSTRUCTIONS] executed in 428ms
2026-05-10 11:26:24.709 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [LOAN_DELINQUENCY_CLASSIFICATION] executed in 1s255ms
2026-05-10 11:26:24.722 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_DEPOSITS_ACCOUNT_MATURITY_DETAILS]] launched with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:24.732 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=LOAN_DELINQUENCY_CLASSIFICATION]] completed with the following parameters: [{'run.id':'{value=20, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 1s366ms
2026-05-10 11:26:24.736 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_DIRTY_JOBS]
2026-05-10 11:26:24.746 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_STANDING_INSTRUCTIONS]] completed with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 610ms
2026-05-10 11:26:24.755 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [POST_DIVIDENTS_FOR_SHARES]
2026-05-10 11:26:24.809 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_DIRTY_JOBS] executed in 72ms
2026-05-10 11:26:24.812 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_DEPOSITS_ACCOUNT_MATURITY_DETAILS]
2026-05-10 11:26:24.839 INFO [Scheduler1group3_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=ADD_PERIODIC_ACCRUAL_ENTRIES]] launched with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:24.938 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_DIRTY_JOBS]] completed with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 253ms
2026-05-10 11:26:24.960 INFO [Scheduler1group3_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [ADD_PERIODIC_ACCRUAL_ENTRIES]
2026-05-10 11:26:25.004 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [UPDATE_DEPOSITS_ACCOUNT_MATURITY_DETAILS] executed in 191ms
2026-05-10 11:26:25.028 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=TRANSFER_FEE_CHARGE_FOR_LOANS]] launched with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:25.058 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=ACCOUNTING_RUNNING_BALANCE_UPDATE]] launched with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:25.070 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_DEPOSITS_ACCOUNT_MATURITY_DETAILS]] completed with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 333ms
2026-05-10 11:26:25.084 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [TRANSFER_FEE_CHARGE_FOR_LOANS]
2026-05-10 11:26:25.112 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [ACCOUNTING_RUNNING_BALANCE_UPDATE]
2026-05-10 11:26:25.157 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_LOAN_ARREARS_AGEING]] launched with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:25.252 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_LOAN_ARREARS_AGEING]
2026-05-10 11:26:25.402 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [TRANSFER_FEE_CHARGE_FOR_LOANS] executed in 317ms
2026-05-10 11:26:25.442 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_TRIAL_BALANCE_DETAILS]] launched with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:25.485 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [POST_DIVIDENTS_FOR_SHARES] executed in 730ms
2026-05-10 11:26:25.491 INFO [Scheduler1_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=TRANSFER_FEE_CHARGE_FOR_LOANS]] completed with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 451ms
2026-05-10 11:26:25.492 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [ACCOUNTING_RUNNING_BALANCE_UPDATE] executed in 379ms
2026-05-10 11:26:25.496 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_TRIAL_BALANCE_DETAILS]
2026-05-10 11:26:25.510 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=POST_DIVIDENTS_FOR_SHARES]] completed with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 937ms
2026-05-10 11:26:25.549 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=ACCOUNTING_RUNNING_BALANCE_UPDATE]] completed with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 445ms
2026-05-10 11:26:25.626 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=GENERATE_RD_SCEHDULE]] launched with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:26:25.692 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [UPDATE_LOAN_ARREARS_AGEING] executed in 438ms
2026-05-10 11:26:25.762 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_LOAN_ARREARS_AGEING]] completed with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 598ms
2026-05-10 11:26:25.878 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [GENERATE_RD_SCEHDULE]
2026-05-10 11:26:25.945 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [UPDATE_TRIAL_BALANCE_DETAILS] executed in 447ms
2026-05-10 11:26:25.952 INFO [Scheduler1group3_Worker-1] o.s.batch.core.step.AbstractStep : Step: [ADD_PERIODIC_ACCRUAL_ENTRIES] executed in 992ms
2026-05-10 11:26:25.966 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=UPDATE_TRIAL_BALANCE_DETAILS]] completed with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 517ms
2026-05-10 11:26:25.975 INFO [Scheduler1group3_Worker-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=ADD_PERIODIC_ACCRUAL_ENTRIES]] completed with the following parameters: [{'run.id':'{value=24, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 1s125ms
2026-05-10 11:26:26.168 WARN [HikariPool-1:housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=17h27m57s857ms325µs800ns).
2026-05-10 11:26:26.397 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [GENERATE_RD_SCEHDULE] executed in 518ms
2026-05-10 11:26:26.432 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=GENERATE_RD_SCEHDULE]] completed with the following parameters: [{'run.id':'{value=23, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 584ms
2026-05-10 11:26:27.232 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - HTTP response status: 200 for https://rbi.org.in/pressreleases_rss.xml
2026-05-10 11:26:27.559 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Parsed 10 items from RSS for category: PRESS_RELEASE
2026-05-10 11:26:27.625 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - No new items for category: PRESS_RELEASE
2026-05-10 11:26:27.625 INFO [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Category PRESS_RELEASE completed: 0 new items
2026-05-10 11:26:27.625 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/notifications_rss.xml
2026-05-10 11:26:27.839 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - HTTP response status: 200 for https://rbi.org.in/notifications_rss.xml
2026-05-10 11:26:27.922 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Parsed 10 items from RSS for category: NOTIFICATION
2026-05-10 11:26:28.005 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - No new items for category: NOTIFICATION
2026-05-10 11:26:28.010 INFO [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Category NOTIFICATION completed: 0 new items
2026-05-10 11:26:28.011 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/speeches_rss.xml
2026-05-10 11:26:28.334 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - HTTP response status: 200 for https://rbi.org.in/speeches_rss.xml
2026-05-10 11:26:28.480 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Parsed 10 items from RSS for category: SPEECH
2026-05-10 11:26:28.548 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - No new items for category: SPEECH
2026-05-10 11:26:28.548 INFO [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Category SPEECH completed: 0 new items
2026-05-10 11:26:28.551 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/tenders_rss.xml
2026-05-10 11:26:28.874 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - HTTP response status: 200 for https://rbi.org.in/tenders_rss.xml
2026-05-10 11:26:28.941 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Parsed 10 items from RSS for category: TENDER
2026-05-10 11:26:28.963 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - No new items for category: TENDER
2026-05-10 11:26:28.963 INFO [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Category TENDER completed: 0 new items
2026-05-10 11:26:28.963 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/Publication_rss.xml
2026-05-10 11:26:29.162 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - HTTP response status: 200 for https://rbi.org.in/Publication_rss.xml
2026-05-10 11:26:29.529 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Parsed 10 items from RSS for category: PUBLICATION
2026-05-10 11:26:29.713 DEBUG [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - No new items for category: PUBLICATION
2026-05-10 11:26:29.713 INFO [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Category PUBLICATION completed: 0 new items
2026-05-10 11:26:29.718 INFO [Scheduler1_Worker-7] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - All feeds fetched. Total new items: 0
2026-05-10 11:26:29.756 INFO [Scheduler1_Worker-7] o.a.f.i.r.j.f.FetchRbiFeedsTasklet : RBI RSS feed fetch job completed. 0 new items stored.
2026-05-10 11:26:29.774 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [FETCH_RBI_RSS_FEEDS] executed in 6s366ms
2026-05-10 11:26:29.794 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=FETCH_RBI_RSS_FEEDS]] completed with the following parameters: [{'run.id':'{value=70, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6s469ms
2026-05-10 11:27:00.319 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=12925, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:27:00.345 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:27:00.366 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 20ms
2026-05-10 11:27:00.375 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=12925, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 39ms
2026-05-10 11:28:00.069 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=12926, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:28:00.077 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:28:00.079 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms
2026-05-10 11:28:00.079 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=12926, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms
2026-05-10 11:29:00.066 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=12927, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:29:00.076 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:29:00.082 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms
2026-05-10 11:29:00.088 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=12927, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 19ms
2026-05-10 11:30:00.045 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=993, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:30:00.055 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]
2026-05-10 11:30:00.063 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1436, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:30:00.069 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=993, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:30:00.069 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 11:30:00.078 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS]
2026-05-10 11:30:00.082 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 26ms
2026-05-10 11:30:00.088 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=12928, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:30:00.093 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=993, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 43ms
2026-05-10 11:30:00.096 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:30:00.098 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 19ms
2026-05-10 11:30:00.103 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms
2026-05-10 11:30:00.106 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=993, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 33ms
2026-05-10 11:30:00.108 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=12928, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 20ms
2026-05-10 11:30:00.125 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 53ms
2026-05-10 11:30:00.131 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1436, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 66ms
2026-05-10 11:31:00.033 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=12929, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:31:00.039 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:31:00.044 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 11:31:00.046 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=12929, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms
2026-05-10 11:32:00.046 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=12930, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:32:00.053 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:32:00.059 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms
2026-05-10 11:32: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=12930, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 11:33:00.047 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=12931, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:33:00.057 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:33:00.064 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms
2026-05-10 11:33: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=12931, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms
2026-05-10 11:34:00.037 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=12932, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:34:00.046 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:34:00.054 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 7ms
2026-05-10 11:34: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=12932, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 18ms
2026-05-10 11:35:00.049 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=12933, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:35:00.056 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:35:00.056 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 11:35:00.064 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=12933, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 11:36:00.046 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=12934, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:36:00.050 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:36:00.059 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 8ms
2026-05-10 11:36:00.059 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=12934, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms
2026-05-10 11:37:00.049 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=12935, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:37:00.054 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:37:00.060 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 11:37:00.065 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=12935, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms
2026-05-10 11:38: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=12936, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:38:00.041 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:38:00.046 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 11:38: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=12936, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms
2026-05-10 11:39:00.043 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=12937, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:39:00.053 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:39:00.057 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 11:39:00.060 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=12937, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 17ms
2026-05-10 11:40:00.047 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=12938, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:40:00.047 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1437, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:40:00.047 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:40:00.058 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 10ms
2026-05-10 11:40:00.058 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 11:40:00.058 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=12938, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms
2026-05-10 11:40:00.111 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 53ms
2026-05-10 11:40:00.114 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1437, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 65ms
2026-05-10 11:41:00.036 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=12939, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:41:00.037 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:41:00.046 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 8ms
2026-05-10 11:41:00.046 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=12939, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms
2026-05-10 11:42: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=12940, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:42:00.040 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:42:00.045 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 11:42:00.050 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=12940, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms
2026-05-10 11:43:00.035 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=12941, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:43:00.042 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:43:00.042 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 11:43:00.054 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=12941, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 6ms
2026-05-10 11:44: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=12942, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:44:00.036 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:44:00.041 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 11:44:00.046 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=12942, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms
2026-05-10 11:45: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=12943, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:45:00.036 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=994, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:45:00.038 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:45:00.038 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]
2026-05-10 11:45:00.043 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 11:45: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=12943, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms
2026-05-10 11:45:00.055 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=994, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:45:00.059 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 20ms
2026-05-10 11:45:00.059 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS]
2026-05-10 11:45:00.063 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=994, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 27ms
2026-05-10 11:45:00.075 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 15ms
2026-05-10 11:45:00.077 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=994, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 22ms
2026-05-10 11:46:00.028 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=12944, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:46:00.037 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:46:00.043 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 11:46: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=12944, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms
2026-05-10 11:47:00.046 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=12945, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:47:00.054 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:47:00.057 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 11:47:00.061 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=12945, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 11:48:00.046 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=12946, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:48:00.052 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:48:00.052 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 11:48:00.061 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=12946, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms
2026-05-10 11:49:00.034 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=12947, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:49:00.039 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:49:00.039 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 11:49: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=12947, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 3ms
2026-05-10 11:50:00.025 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1438, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:50: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=12948, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:50:00.030 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 11:50:00.033 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:50:00.036 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 11:50: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=12948, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms
2026-05-10 11:50:00.048 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 17ms
2026-05-10 11:50:00.052 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1438, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 25ms
2026-05-10 11:51:00.032 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=12949, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:51:00.035 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:51:00.042 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 7ms
2026-05-10 11:51: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=12949, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms
2026-05-10 11:52:00.034 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=12950, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:52:00.042 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:52:00.047 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 11:52:00.049 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=12950, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 11:53:00.041 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=12951, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:53:00.048 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:53:00.051 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 11:53:00.056 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=12951, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms
2026-05-10 11:54:00.028 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=12952, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:54:00.028 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:54:00.028 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 11:54:00.028 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=12952, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in
2026-05-10 11:55:00.039 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=12953, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:55:00.044 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:55:00.050 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 11:55:00.053 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=12953, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms
2026-05-10 11:56:00.081 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=12954, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:56:00.093 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:56:00.096 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 11:56:00.102 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=12954, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 21ms
2026-05-10 11:57: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=12955, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:57:00.036 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:57:00.043 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms
2026-05-10 11:57: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=12955, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms
2026-05-10 11:58: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=12956, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:58:00.044 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:58:00.048 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 11:58: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=12956, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms
2026-05-10 11:59: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=12957, type=class java.lang.Long, identifying=true}'}]
2026-05-10 11:59:00.033 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 11:59:00.038 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 11:59: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=12957, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms
2026-05-10 12:00:00.081 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=995, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:00:00.088 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=12958, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:00:00.088 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=FETCH_RBI_RSS_FEEDS]] launched with the following parameters: [{'run.id':'{value=71, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:00:00.091 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1439, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:00:00.092 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=GENERATE_ADHOC_CLIENT_SCHEDULE]] launched with the following parameters: [{'run.id':'{value=30, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:00:00.098 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=PAY_DUE_SAVINGS_CHARGES]] launched with the following parameters: [{'run.id':'{value=30, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:00:00.099 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=APPLY_HOLIDAYS_TO_LOANS]] launched with the following parameters: [{'run.id':'{value=30, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:00:00.101 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:00:00.104 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [FETCH_RBI_RSS_FEEDS]
2026-05-10 12:00:00.104 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [GENERATE_ADHOC_CLIENT_SCHEDULE]
2026-05-10 12:00:00.104 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 12:00:00.105 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS]
2026-05-10 12:00:00.107 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms
2026-05-10 12:00:00.107 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [PAY_DUE_SAVINGS_CHARGES]
2026-05-10 12:00:00.107 INFO [Scheduler1_Worker-4] o.a.f.i.r.j.f.FetchRbiFeedsTasklet : Starting RBI RSS feed fetch job...
2026-05-10 12:00:00.112 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [APPLY_HOLIDAYS_TO_LOANS]
2026-05-10 12:00:00.112 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 6ms
2026-05-10 12:00:00.112 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 7ms
2026-05-10 12:00:00.120 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=12958, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 26ms
2026-05-10 12:00:00.119 INFO [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Starting fetch for all 5 feed categories
2026-05-10 12:00:00.121 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/pressreleases_rss.xml
2026-05-10 12:00:00.123 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [GENERATE_ADHOC_CLIENT_SCHEDULE] executed in 19ms
2026-05-10 12:00:00.123 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=995, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 41ms
2026-05-10 12:00:00.123 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1439, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 32ms
2026-05-10 12:00:00.123 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [APPLY_HOLIDAYS_TO_LOANS] executed in 11ms
2026-05-10 12:00:00.129 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=GENERATE_ADHOC_CLIENT_SCHEDULE]] completed with the following parameters: [{'run.id':'{value=30, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 36ms
2026-05-10 12:00:00.129 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=APPLY_HOLIDAYS_TO_LOANS]] completed with the following parameters: [{'run.id':'{value=30, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 29ms
2026-05-10 12:00:00.129 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [PAY_DUE_SAVINGS_CHARGES] executed in 21ms
2026-05-10 12:00:00.147 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=PAY_DUE_SAVINGS_CHARGES]] completed with the following parameters: [{'run.id':'{value=30, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 43ms
2026-05-10 12:00:00.158 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=995, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:00:00.162 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]
2026-05-10 12:00:00.170 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 8ms
2026-05-10 12:00:00.178 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=995, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 17ms
2026-05-10 12:00:00.458 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - HTTP response status: 200 for https://rbi.org.in/pressreleases_rss.xml
2026-05-10 12:00:00.543 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Parsed 10 items from RSS for category: PRESS_RELEASE
2026-05-10 12:00:00.557 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - No new items for category: PRESS_RELEASE
2026-05-10 12:00:00.557 INFO [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Category PRESS_RELEASE completed: 0 new items
2026-05-10 12:00:00.557 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/notifications_rss.xml
2026-05-10 12:00:01.109 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - HTTP response status: 200 for https://rbi.org.in/notifications_rss.xml
2026-05-10 12:00:01.198 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Parsed 10 items from RSS for category: NOTIFICATION
2026-05-10 12:00:01.211 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - No new items for category: NOTIFICATION
2026-05-10 12:00:01.211 INFO [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Category NOTIFICATION completed: 0 new items
2026-05-10 12:00:01.211 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/speeches_rss.xml
2026-05-10 12:00:01.334 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - HTTP response status: 200 for https://rbi.org.in/speeches_rss.xml
2026-05-10 12:00:01.418 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Parsed 10 items from RSS for category: SPEECH
2026-05-10 12:00:01.427 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - No new items for category: SPEECH
2026-05-10 12:00:01.427 INFO [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Category SPEECH completed: 0 new items
2026-05-10 12:00:01.427 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/tenders_rss.xml
2026-05-10 12:00:01.741 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - HTTP response status: 200 for https://rbi.org.in/tenders_rss.xml
2026-05-10 12:00:01.766 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Parsed 10 items from RSS for category: TENDER
2026-05-10 12:00:01.775 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - No new items for category: TENDER
2026-05-10 12:00:01.775 INFO [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Category TENDER completed: 0 new items
2026-05-10 12:00:01.775 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Fetching RSS from URL: https://rbi.org.in/Publication_rss.xml
2026-05-10 12:00:02.323 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - HTTP response status: 200 for https://rbi.org.in/Publication_rss.xml
2026-05-10 12:00:02.578 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Parsed 10 items from RSS for category: PUBLICATION
2026-05-10 12:00:02.608 DEBUG [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - No new items for category: PUBLICATION
2026-05-10 12:00:02.608 INFO [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - Category PUBLICATION completed: 0 new items
2026-05-10 12:00:02.608 INFO [Scheduler1_Worker-4] o.a.f.i.r.s.RbiFeedFetchService : RBI FeedFetchService - All feeds fetched. Total new items: 0
2026-05-10 12:00:02.608 INFO [Scheduler1_Worker-4] o.a.f.i.r.j.f.FetchRbiFeedsTasklet : RBI RSS feed fetch job completed. 0 new items stored.
2026-05-10 12:00:02.608 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [FETCH_RBI_RSS_FEEDS] executed in 2s503ms
2026-05-10 12:00:02.628 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=FETCH_RBI_RSS_FEEDS]] completed with the following parameters: [{'run.id':'{value=71, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 2s535ms
2026-05-10 12:01: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=12959, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:01:00.036 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:01:00.040 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:01: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=12959, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms
2026-05-10 12:02:00.046 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=12960, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:02:00.051 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:02:00.054 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:02:00.058 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=12960, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms
2026-05-10 12:03: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=12961, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:03:00.034 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:03:00.034 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 12:03:00.046 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=12961, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms
2026-05-10 12:04: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=12962, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:04:00.041 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:04:00.046 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 12:04: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=12962, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 12:05:00.038 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=12963, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:05:00.042 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:05:00.047 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 12:05:00.051 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=12963, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms
2026-05-10 12:06:00.039 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=12964, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:06:00.042 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:06:00.044 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms
2026-05-10 12:06:00.052 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=12964, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms
2026-05-10 12:07: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=12965, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:07:00.046 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:07:00.049 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:07:00.057 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=12965, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms
2026-05-10 12:08:00.052 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=12966, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:08:00.301 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:08:00.324 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 20ms
2026-05-10 12:08:00.336 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=12966, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 280ms
2026-05-10 12:09:00.054 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=12967, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:09:00.069 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:09:00.076 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 7ms
2026-05-10 12:09:00.083 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=12967, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 22ms
2026-05-10 12:10:00.034 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1440, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:10: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=12968, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:10:00.041 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 12:10:00.044 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:10:00.050 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 12:10:00.050 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 8ms
2026-05-10 12:10:00.054 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=12968, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms
2026-05-10 12:10:00.054 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1440, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms
2026-05-10 12:11: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=12969, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:11:00.038 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:11:00.046 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 7ms
2026-05-10 12:11:00.050 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=12969, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 12:12:00.028 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=12970, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:12:00.032 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:12:00.036 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:12: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=12970, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms
2026-05-10 12:13:00.034 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=12971, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:13:00.042 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:13:00.043 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms
2026-05-10 12:13: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=12971, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms
2026-05-10 12:14: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=12972, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:14:00.034 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:14:00.039 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:14: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=12972, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms
2026-05-10 12:15:00.012 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=996, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:15:00.029 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=996, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:15:00.029 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS]
2026-05-10 12:15: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=12973, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:15:00.033 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 3ms
2026-05-10 12:15:00.033 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]
2026-05-10 12:15:00.033 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:15:00.037 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=996, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 23ms
2026-05-10 12:15:00.037 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 12:15:00.042 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=12973, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms
2026-05-10 12:15:00.044 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 11ms
2026-05-10 12:15:00.048 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=996, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 19ms
2026-05-10 12:16: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=12974, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:16:00.041 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:16:00.044 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:16: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=12974, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms
2026-05-10 12:17:00.028 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=12975, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:17:00.031 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:17:00.031 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 12:17: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=12975, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms
2026-05-10 12:18:00.035 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=12976, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:18:00.041 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:18:00.047 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms
2026-05-10 12:18:00.050 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=12976, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 12:19:00.043 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=12977, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:19:00.051 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:19:00.056 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 12:19:00.061 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=12977, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 12:20:00.031 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1441, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:20:00.038 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=12978, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:20:00.041 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 12:20:00.044 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:20:00.048 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 12:20:00.053 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=12978, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms
2026-05-10 12:20:00.053 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 11ms
2026-05-10 12:20:00.055 INFO [Scheduler1_Worker-3] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1441, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 20ms
2026-05-10 12:21:00.045 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=12979, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:21:00.048 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:21:00.056 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 7ms
2026-05-10 12:21:00.061 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=12979, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms
2026-05-10 12:22: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=12980, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:22:00.043 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:22:00.046 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:22:00.051 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=12980, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms
2026-05-10 12:23: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=12981, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:23:00.034 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:23:00.038 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms
2026-05-10 12:23: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=12981, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms
2026-05-10 12:24:00.077 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=12982, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:24:00.083 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:24:00.091 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 8ms
2026-05-10 12:24:00.091 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=12982, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 12:25:00.036 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=12983, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:25:00.046 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:25:00.051 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 12:25:00.051 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=12983, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 12:26: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=12984, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:26:00.040 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:26:00.044 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:26:00.048 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=12984, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms
2026-05-10 12:27:00.048 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=12985, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:27:00.055 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:27:00.061 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 12:27:00.063 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=12985, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 12:28:00.043 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=12986, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:28:00.049 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:28:00.052 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms
2026-05-10 12:28:00.061 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=12986, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms
2026-05-10 12:29:00.041 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=12987, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:29:00.051 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:29:00.053 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms
2026-05-10 12:29:00.057 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=12987, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms
2026-05-10 12:30:00.055 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=12988, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:30:00.058 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:30:00.063 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1442, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:30:00.064 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms
2026-05-10 12:30:00.064 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=997, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:30:00.087 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=12988, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 12:30:00.087 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]
2026-05-10 12:30:00.087 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 12:30:00.087 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=997, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:30:00.096 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS]
2026-05-10 12:30:00.104 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 16ms
2026-05-10 12:30:00.112 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 16ms
2026-05-10 12:30:00.113 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=997, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 44ms
2026-05-10 12:30:00.113 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 25ms
2026-05-10 12:30:00.114 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=997, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 26ms
2026-05-10 12:30:00.119 INFO [Scheduler1_Worker-6] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1442, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 51ms
2026-05-10 12:31:00.027 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=12989, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:31:00.031 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:31:00.037 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 12:31:00.042 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=12989, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms
2026-05-10 12:32: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=12990, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:32:00.041 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:32:00.046 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 12:32:00.051 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=12990, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms
2026-05-10 12:33: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=12991, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:33:00.038 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:33:00.041 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms
2026-05-10 12:33:00.047 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=12991, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms
2026-05-10 12:34: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=12992, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:34:00.036 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:34:00.039 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:34:00.044 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=12992, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms
2026-05-10 12:35: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=12993, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:35:00.045 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:35:00.054 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 8ms
2026-05-10 12:35: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=12993, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms
2026-05-10 12:36:00.036 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=12994, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:36:00.042 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:36:00.044 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms
2026-05-10 12:36:00.052 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=12994, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms
2026-05-10 12:37:00.046 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=12995, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:37:00.046 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:37:00.056 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 10ms
2026-05-10 12:37:00.062 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=12995, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 12:38:00.028 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=12996, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:38:00.036 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:38:00.039 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:38: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=12996, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 17ms
2026-05-10 12:39:00.036 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=12997, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:39:00.040 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:39:00.041 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 12:39:00.050 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=12997, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms
2026-05-10 12:40:00.026 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1443, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:40: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=12998, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:40:00.029 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 12:40:00.038 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:40:00.040 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms
2026-05-10 12:40: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=12998, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 12:40:00.047 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 17ms
2026-05-10 12:40:00.053 INFO [Scheduler1_Worker-2] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1443, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 25ms
2026-05-10 12:41:00.037 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=12999, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:41:00.043 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:41:00.046 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:41:00.052 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=12999, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms
2026-05-10 12:42:00.042 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=13000, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:42:00.052 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:42:00.056 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:42:00.060 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=13000, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms
2026-05-10 12:43:00.044 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=13001, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:43:00.054 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:43:00.059 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 12:43:00.066 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=13001, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 19ms
2026-05-10 12:44:00.036 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=13002, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:44:00.042 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:44:00.042 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 12:44:00.048 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=13002, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms
2026-05-10 12:45: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=13003, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:45:00.024 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=998, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:45:00.032 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS]
2026-05-10 12:45:00.032 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:45:00.032 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=998, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:45:00.032 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 12:45:00.037 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]
2026-05-10 12:45:00.037 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 5ms
2026-05-10 12:45: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=13003, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms
2026-05-10 12:45:00.044 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=998, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 18ms
2026-05-10 12:45:00.051 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 13ms
2026-05-10 12:45:00.054 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=998, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 22ms
2026-05-10 12:46: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=13004, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:46:00.039 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:46:00.041 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms
2026-05-10 12:46: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=13004, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms
2026-05-10 12:47:00.061 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=13005, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:47:00.075 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:47:00.081 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 12:47:00.085 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=13005, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 20ms
2026-05-10 12:48: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=13006, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:48:00.034 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:48:00.042 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 7ms
2026-05-10 12:48:00.047 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=13006, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms
2026-05-10 12:49:00.061 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=13007, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:49:00.068 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:49:00.074 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 12:49:00.078 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=13007, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms
2026-05-10 12:50:00.036 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1444, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:50:00.041 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 12:50: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=13008, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:50:00.049 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:50:00.057 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 16ms
2026-05-10 12:50:00.057 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 8ms
2026-05-10 12:50:00.057 INFO [Scheduler1_Worker-5] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1444, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 21ms
2026-05-10 12:50:00.057 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=13008, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms
2026-05-10 12:51:00.033 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=13009, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:51:00.041 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:51:00.041 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 12:51: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=13009, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms
2026-05-10 12:52: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=13010, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:52:00.029 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:52:00.041 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 11ms
2026-05-10 12:52:00.049 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=13010, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 18ms
2026-05-10 12:53:00.040 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=13011, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:53:00.045 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:53:00.047 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 1ms
2026-05-10 12:53: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=13011, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms
2026-05-10 12:54: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=13012, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:54:00.032 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:54:00.040 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 7ms
2026-05-10 12:54:00.042 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=13012, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms
2026-05-10 12:55: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=13013, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:55:00.034 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:55:00.040 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 12:55:00.044 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=13013, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms
2026-05-10 12:56: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=13014, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:56:00.038 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:56:00.038 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 12:56: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=13014, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 19ms
2026-05-10 12:57:00.038 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=13015, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:57:00.046 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:57:00.047 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 12:57: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=13015, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms
2026-05-10 12:58:00.046 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=13016, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:58:00.049 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:58:00.057 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 7ms
2026-05-10 12:58:00.063 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=13016, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 12:59: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=13017, type=class java.lang.Long, identifying=true}'}]
2026-05-10 12:59:00.031 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 12:59:00.035 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 12:59: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=13017, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms
2026-05-10 13:00:00.030 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1445, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:00:00.038 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 13:00:00.042 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=999, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:00:00.047 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 8ms
2026-05-10 13:00:00.052 INFO [Scheduler1_Worker-4] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1445, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 18ms
2026-05-10 13:00:00.052 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS]
2026-05-10 13:00:00.062 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 9ms
2026-05-10 13:00:00.067 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=999, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:00:00.068 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=999, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 23ms
2026-05-10 13:00:00.076 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=13018, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:00:00.076 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]
2026-05-10 13:00:00.086 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:00:00.086 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 10ms
2026-05-10 13:00:00.092 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 13:00:00.092 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=999, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 25ms
2026-05-10 13:00:00.092 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=13018, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms
2026-05-10 13:01:00.034 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=13019, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:01:00.037 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:01:00.045 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 8ms
2026-05-10 13:01:00.050 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=13019, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 9ms
2026-05-10 13:02:00.038 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=13020, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:02:00.043 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:02:00.045 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms
2026-05-10 13:02:00.053 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=13020, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms
2026-05-10 13:03:00.037 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=13021, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:03:00.043 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:03:00.046 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms
2026-05-10 13:03:00.049 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=13021, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 11ms
2026-05-10 13:04:00.033 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=13022, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:04:00.033 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:04:00.041 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 7ms
2026-05-10 13:04:00.041 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=13022, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms
2026-05-10 13:05: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=13023, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:05:00.041 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:05:00.041 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 13:05:00.049 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=13023, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms
2026-05-10 13:06:00.040 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=13024, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:06:00.046 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:06:00.052 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms
2026-05-10 13:06:00.055 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=13024, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 14ms
2026-05-10 13:07:00.036 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=13025, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:07:00.042 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:07:00.044 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms
2026-05-10 13:07:00.044 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=13025, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 8ms
2026-05-10 13:08: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=13026, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:08:00.035 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:08:00.041 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms
2026-05-10 13:08:00.045 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=13026, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 10ms
2026-05-10 13:09:00.017 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=13027, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:09:00.029 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:09:00.033 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 4ms
2026-05-10 13:09: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=13027, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 15ms
2026-05-10 13:10:00.033 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] launched with the following parameters: [{'run.id':'{value=1446, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:10:00.033 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=13028, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:10:00.041 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_EMAIL]
2026-05-10 13:10:00.041 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:10:00.045 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 3ms
2026-05-10 13:10:00.049 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=13028, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 13ms
2026-05-10 13:10:00.052 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_EMAIL] executed in 10ms
2026-05-10 13:10:00.059 INFO [Scheduler1_Worker-7] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=EXECUTE_EMAIL]] completed with the following parameters: [{'run.id':'{value=1446, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 24ms
2026-05-10 13:11: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=13029, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:11:00.033 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:11:00.040 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 7ms
2026-05-10 13:11:00.046 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=13029, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 7ms
2026-05-10 13:12: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=13030, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:12:00.046 INFO [Scheduler1_Worker-5] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:12:00.052 INFO [Scheduler1_Worker-5] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 6ms
2026-05-10 13:12:00.057 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=13030, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 21ms
2026-05-10 13:13: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=13031, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:13:00.038 INFO [Scheduler1_Worker-3] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:13:00.044 INFO [Scheduler1_Worker-3] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 13:13:00.048 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=13031, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms
2026-05-10 13:14: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=13032, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:14:00.037 INFO [Scheduler1_Worker-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:14:00.037 INFO [Scheduler1_Worker-1] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in
2026-05-10 13:14:00.045 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=13032, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 16ms
2026-05-10 13:15:00.067 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=1000, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:15:00.067 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=1000, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:15:00.067 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=13033, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:15:00.081 INFO [Scheduler1_Worker-4] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:15:00.081 INFO [Scheduler1_Worker-7] o.s.batch.core.job.SimpleStepHandler : Executing step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE]
2026-05-10 13:15:00.081 INFO [Scheduler1_Worker-2] o.s.batch.core.job.SimpleStepHandler : Executing step: [EXECUTE_REPORT_MAILING_JOBS]
2026-05-10 13:15:00.087 INFO [Scheduler1_Worker-4] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 5ms
2026-05-10 13:15:00.091 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=13033, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 23ms
2026-05-10 13:15:00.091 INFO [Scheduler1_Worker-7] o.s.batch.core.step.AbstractStep : Step: [UPDATE_EMAIL_OUTBOUND_WITH_CAMPAIGN_MESSAGE] executed in 9ms
2026-05-10 13:15:00.091 INFO [Scheduler1_Worker-2] o.s.batch.core.step.AbstractStep : Step: [EXECUTE_REPORT_MAILING_JOBS] executed in 9ms
2026-05-10 13:15:00.099 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=1000, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 30ms
2026-05-10 13:15:00.099 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=1000, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 32ms
2026-05-10 13:16:00.049 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=13034, type=class java.lang.Long, identifying=true}'}]
2026-05-10 13:16:00.056 INFO [Scheduler1_Worker-6] o.s.batch.core.job.SimpleStepHandler : Executing step: [SEND_ASYNCHRONOUS_EVENTS_STEP]
2026-05-10 13:16:00.059 INFO [Scheduler1_Worker-6] o.s.batch.core.step.AbstractStep : Step: [SEND_ASYNCHRONOUS_EVENTS_STEP] executed in 2ms
2026-05-10 13:16:00.061 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=13034, type=class java.lang.Long, identifying=true}'}] and the following status: [COMPLETED] in 12ms
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -21,8 +21,24 @@ package org.apache.fineract.portfolio.client.domain;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
public interface ClientFamilyMembersRepository
extends JpaRepository<ClientFamilyMembers, Long>, JpaSpecificationExecutor<ClientFamilyMembers> {
/**
* Counts non-deleted family members for a client that hold a given relationship code, optionally
* ignoring one specific family member (used at update time so a row doesn't conflict with itself).
* Backs the single-use relationship rule for Mother / Father / Spouse.
*/
@Query("SELECT COUNT(fm) FROM ClientFamilyMembers fm "
+ "WHERE fm.client.id = :clientId "
+ "AND fm.relationship.id = :relationshipId "
+ "AND fm.isDeleted = false "
+ "AND (:excludeFamilyMemberId IS NULL OR fm.id <> :excludeFamilyMemberId)")
long countActiveByClientAndRelationship(@Param("clientId") Long clientId,
@Param("relationshipId") Long relationshipId,
@Param("excludeFamilyMemberId") Long excludeFamilyMemberId);
}
@@ -27,11 +27,15 @@ import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.DateTimeParseException;
import java.util.Locale;
import java.util.Set;
import org.apache.fineract.infrastructure.codes.domain.CodeValue;
import org.apache.fineract.infrastructure.codes.domain.CodeValueRepository;
import org.apache.fineract.infrastructure.core.api.JsonCommand;
import org.apache.fineract.infrastructure.core.data.ApiParameterError;
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
import org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder;
import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException;
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
import org.apache.fineract.portfolio.client.domain.Client;
import org.apache.fineract.portfolio.client.domain.ClientFamilyMembers;
@@ -47,6 +51,16 @@ import org.springframework.stereotype.Service;
public class ClientFamilyMembersWritePlatformServiceImpl implements ClientFamilyMembersWritePlatformService {
private static final Logger LOG = LoggerFactory.getLogger(ClientFamilyMembersWritePlatformServiceImpl.class);
/**
* Relationship labels that may appear at most once per client. Compared case-insensitively
* against the CodeValue label, so admins can rename the values to match local spellings
* without breaking the rule. Common synonyms ({@code husband}/{@code wife}) are treated as
* spouse so the rule isn't defeated by data entry.
*/
private static final Set<String> SINGLE_USE_RELATIONSHIPS = Set.of(
"mother", "father", "spouse", "husband", "wife");
private final PlatformSecurityContext context;
private final CodeValueRepository codeValueRepository;
private final ClientFamilyMembersRepository clientFamilyRepository;
@@ -65,6 +79,38 @@ public class ClientFamilyMembersWritePlatformServiceImpl implements ClientFamily
}
/**
* Enforces the "single-use" rule for relationships in {@link #SINGLE_USE_RELATIONSHIPS}.
* Throws {@link PlatformApiDataValidationException} when a duplicate is detected so the UI
* gets a clean validation error in the standard envelope.
*
* @param clientId the parent client
* @param relationship the CodeValue being applied; may be {@code null} (e.g. user left it blank)
* @param excludeMemberId {@code null} on create, the row id on update — prevents a row from
* conflicting with itself when remarks or other non-relationship fields
* change
*/
private void validateRelationshipUniqueness(final Long clientId, final CodeValue relationship,
final Long excludeMemberId) {
if (clientId == null || relationship == null || relationship.getLabel() == null) {
return;
}
final String label = relationship.getLabel().trim().toLowerCase(Locale.ROOT);
if (!SINGLE_USE_RELATIONSHIPS.contains(label)) {
return;
}
final long existing = clientFamilyRepository.countActiveByClientAndRelationship(
clientId, relationship.getId(), excludeMemberId);
if (existing > 0) {
final String displayName = relationship.getLabel();
throw new PlatformApiDataValidationException(java.util.List.of(ApiParameterError.parameterError(
"error.msg.client.family.member.relationship.duplicate",
"A family member with relationship '" + displayName + "' already exists for this client. "
+ "Only one " + displayName + " is permitted.",
"relationshipId", relationship.getId())));
}
}
@Override
public CommandProcessingResult addFamilyMember(final long clientId, final JsonCommand command) {
@@ -125,6 +171,11 @@ public class ClientFamilyMembersWritePlatformServiceImpl implements ClientFamily
dateOfBirth = command.localDateValueOfParameterNamed("dateOfBirth");
// Single-use relationship guard (Mother / Father / Spouse) — refuse the add before we
// construct the entity so the DB stays consistent and the caller gets a clean validation
// error rather than a generic IO failure.
validateRelationshipUniqueness(clientId, relationship, null);
ClientFamilyMembers clientFamilyMembers = ClientFamilyMembers.fromJson(client, firstName, middleName, lastName, qualification,
mobileNumber, age, isDependent, relationship, maritalStatus, gender, dateOfBirth, profession,
nominationType, percentageShare, remarks);
@@ -299,6 +350,10 @@ public class ClientFamilyMembersWritePlatformServiceImpl implements ClientFamily
familyMember.setMarriageAuthority(member.get("marriageAuthority").getAsString());
}
// Single-use relationship guard, evaluated per row so a batch payload with two
// mothers (or one mother + an existing mother in the DB) fails fast on the offender.
validateRelationshipUniqueness(client != null ? client.getId() : null, relationship, null);
this.clientFamilyRepository.saveAndFlush(familyMember);
}
@@ -447,6 +502,12 @@ public class ClientFamilyMembersWritePlatformServiceImpl implements ClientFamily
}
}
// Single-use relationship guard. Exclude the row being updated so it doesn't conflict with
// itself when only non-relationship fields changed.
final Client ownerForValidation = clientFamilyMember.getClient();
validateRelationshipUniqueness(ownerForValidation != null ? ownerForValidation.getId() : null,
clientFamilyMember.getRelationship(), familyMemberId);
this.clientFamilyRepository.saveAndFlush(clientFamilyMember);
return new CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(clientFamilyMember.getId()).build();
@@ -150,16 +150,27 @@ public class ClientKycWritePlatformServiceJpaRepositoryImpl implements ClientKyc
final Map<String, Object> changes = kyc.update(command);
if (!changes.isEmpty()) {
// If PAN-related fields changed on a VERIFIED record, reset PAN verification
if (currentStatus.isVerified() && changes.containsKey("panNumber")) {
// Only changes to identifier fields invalidate prior verifications. A remarks edit or
// risk-category bump does not — keeping it as VERIFIED is the correct end state.
final boolean panChanged = changes.containsKey("panNumber");
final boolean aadhaarChanged = changes.containsKey("aadhaarNumberMasked");
final boolean gstinChanged = changes.containsKey("gstinNumber");
final boolean verificationAffected = panChanged || aadhaarChanged || gstinChanged;
if (panChanged && currentStatus.isVerified()) {
kyc.resetPanVerification();
changes.put("panVerified", false);
}
// Move to IN_PROGRESS when documents are updated
if (!kyc.getKycStatus().isInProgress()) {
if (verificationAffected && !kyc.getKycStatus().isInProgress()) {
kyc.markInProgress();
changes.put("kycStatus", ClientKycStatus.IN_PROGRESS.getValue());
}
// Re-check: if the change didn't actually invalidate anything, snap back to VERIFIED.
// Handles the common case of editing remarks / risk on a fully-verified KYC.
kyc.tryAutoVerify();
if (kyc.getKycStatus().isVerified()) {
changes.put("kycStatus", ClientKycStatus.VERIFIED.getValue());
}
kycRepositoryWrapper.saveAndFlush(kyc);
}
@@ -972,15 +983,22 @@ public class ClientKycWritePlatformServiceJpaRepositoryImpl implements ClientKyc
}
// Same audit semantics as the explicit updateKyc endpoint:
// • PAN-edited on a VERIFIED row → reset PAN verification (forces re-verify)
// • Any change moves status to IN_PROGRESS so the row is no longer mistaken for a
// completed KYC until verify-pan / verify-aadhaar run again.
if (currentStatus.isVerified() && changes.containsKey("panNumber")) {
// • Only identifier-field changes (PAN / Aadhaar / GSTIN) invalidate prior verifications.
// • Non-identifier edits (remarks, risk category, address) keep the row VERIFIED.
// • tryAutoVerify() at the end snaps back to VERIFIED when nothing relevant changed —
// fixes the bug where edit-client always demoted a VERIFIED KYC to IN_PROGRESS.
final boolean panChanged = changes.containsKey("panNumber");
final boolean aadhaarChanged = changes.containsKey("aadhaarNumberMasked");
final boolean gstinChanged = changes.containsKey("gstinNumber");
final boolean verificationAffected = panChanged || aadhaarChanged || gstinChanged;
if (currentStatus.isVerified() && panChanged) {
kyc.resetPanVerification();
}
if (!kyc.getKycStatus().isInProgress()) {
if (verificationAffected && !kyc.getKycStatus().isInProgress()) {
kyc.markInProgress();
}
kyc.tryAutoVerify();
kycRepositoryWrapper.saveAndFlush(kyc);
LOG.info("upsertKycInline: clientId={}, kycId={}, applied {} change(s), newStatus={}",
client.getId(), kyc.getId(), changes.size(), kyc.getKycStatusValue());
@@ -79,6 +79,11 @@ public class ClientNomineeWritePlatformServiceImpl implements ClientNomineeWrite
}
final Client nomineeClient = this.clientRepository.findOneWithNotFoundDetection(nomineeClientId);
// ── Linked-nominee uniqueness per (account owner, account type) ──
// Same person can be a nominee on a Savings (SB) AND a Current (CB) account, but not twice
// within the same account type — even across different account numbers of that type.
validateNomineeUniquePerAccountType(clientId, nomineeClientId, accountType, null);
// ── Percentage share validation (per account, not per client) ──
final BigDecimal newShare = command.bigDecimalValueOfParameterNamed("percentageShare");
validatePercentageShareForAccount(accountNo, accountType, null, newShare);
@@ -143,6 +148,8 @@ public class ClientNomineeWritePlatformServiceImpl implements ClientNomineeWrite
throw new PlatformDataIntegrityException("error.msg.nominee.cannot.be.self",
"Client cannot be their own nominee.", "nomineeClientId");
}
// Re-check uniqueness when the nominee link is being changed on update.
validateNomineeUniquePerAccountType(clientId, nomineeClientId, nominee.getAccountType(), nomineeId);
final Client nomineeClient = this.clientRepository.findOneWithNotFoundDetection(nomineeClientId);
nominee.setNomineeClient(nomineeClient);
}
@@ -265,6 +272,28 @@ public class ClientNomineeWritePlatformServiceImpl implements ClientNomineeWrite
}
}
/**
* Enforces the rule that the same linked nominee may appear at most once per (account owner,
* account type). Same person CAN still be nominee for the owner's Savings (SB) and Current (CB)
* accounts simultaneously — uniqueness is scoped by accountType, not accountNo.
* {@code excludeNomineeId} is set on update so a row doesn't conflict with itself.
*/
private void validateNomineeUniquePerAccountType(final Long clientId, final Long nomineeClientId,
final String accountType, final Long excludeNomineeId) {
if (clientId == null || nomineeClientId == null || accountType == null || accountType.isBlank()) {
return;
}
final long existing = nomineeRepository.countActiveByClientNomineeAndAccountType(
clientId, nomineeClientId, accountType, excludeNomineeId);
if (existing > 0) {
throw new PlatformDataIntegrityException("error.msg.nominee.already.linked.for.account.type",
"This person is already a nominee for one of the client's "
+ accountType + " accounts. Same nominee can appear only once per account type "
+ "(but is allowed across different account types).",
"nomineeClientId", nomineeClientId);
}
}
/**
* Generates a unique nominee identifier: NOM-{TYPE}{ACCNO}-{SEQ}
* e.g. NOM-SB00123456-01, NOM-CB00123456-02, NOM-LA00123456-01
@@ -317,10 +317,14 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP
final String mobileNo = command.stringValueOfParameterNamed(ClientApiConstants.mobileNoParamName);
final String alternateMobileNo = command.stringValueOfParameterNamed(ClientApiConstants.alternateMobileNoParamName);
final String emailAddress = command.stringValueOfParameterNamed(ClientApiConstants.emailAddressParamName);
final String firstname = command.stringValueOfParameterNamed(ClientApiConstants.firstnameParamName);
final String middlename = command.stringValueOfParameterNamed(ClientApiConstants.middlenameParamName);
final String lastname = command.stringValueOfParameterNamed(ClientApiConstants.lastnameParamName);
final String fullname = command.stringValueOfParameterNamed(ClientApiConstants.fullnameParamName);
// Title-case names at the boundary so every persistence path (REST, internal,
// bulk import) stores "Aditya Kumar Vyas" regardless of how the caller cased the
// input. This is the single write seam for new clients — normalising here means we
// never have to re-clean the data downstream (display name, KYC compare, reports).
final String firstname = toTitleCase(command.stringValueOfParameterNamed(ClientApiConstants.firstnameParamName));
final String middlename = toTitleCase(command.stringValueOfParameterNamed(ClientApiConstants.middlenameParamName));
final String lastname = toTitleCase(command.stringValueOfParameterNamed(ClientApiConstants.lastnameParamName));
final String fullname = toTitleCase(command.stringValueOfParameterNamed(ClientApiConstants.fullnameParamName));
final boolean isStaff = command.booleanPrimitiveValueOfParameterNamed(ClientApiConstants.isStaffParamName);
final LocalDate dataOfBirth = command.localDateValueOfParameterNamed(ClientApiConstants.dateOfBirthParamName);
@@ -672,26 +676,29 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP
clientForUpdate.setEmailAddress(StringUtils.defaultIfEmpty(newValue, null));
}
// Title-case incoming names so an update with "ADITYA" or "aditya" still ends up
// stored as "Aditya". Compare the *normalised* value against the persisted one so
// we don't churn the audit log with a no-op change when the only difference is case.
if (command.isChangeInStringParameterNamed(ClientApiConstants.firstnameParamName, clientForUpdate.getFirstname())) {
final String newValue = command.stringValueOfParameterNamed(ClientApiConstants.firstnameParamName);
final String newValue = toTitleCase(command.stringValueOfParameterNamed(ClientApiConstants.firstnameParamName));
changes.put(ClientApiConstants.firstnameParamName, newValue);
clientForUpdate.setFirstname(StringUtils.defaultIfEmpty(newValue, null));
}
if (command.isChangeInStringParameterNamed(ClientApiConstants.middlenameParamName, clientForUpdate.getMiddlename())) {
final String newValue = command.stringValueOfParameterNamed(ClientApiConstants.middlenameParamName);
final String newValue = toTitleCase(command.stringValueOfParameterNamed(ClientApiConstants.middlenameParamName));
changes.put(ClientApiConstants.middlenameParamName, newValue);
clientForUpdate.setMiddlename(StringUtils.defaultIfEmpty(newValue, null));
}
if (command.isChangeInStringParameterNamed(ClientApiConstants.lastnameParamName, clientForUpdate.getLastname())) {
final String newValue = command.stringValueOfParameterNamed(ClientApiConstants.lastnameParamName);
final String newValue = toTitleCase(command.stringValueOfParameterNamed(ClientApiConstants.lastnameParamName));
changes.put(ClientApiConstants.lastnameParamName, newValue);
clientForUpdate.setLastname(StringUtils.defaultIfEmpty(newValue, null));
}
if (command.isChangeInStringParameterNamed(ClientApiConstants.fullnameParamName, clientForUpdate.getFullname())) {
final String newValue = command.stringValueOfParameterNamed(ClientApiConstants.fullnameParamName);
final String newValue = toTitleCase(command.stringValueOfParameterNamed(ClientApiConstants.fullnameParamName));
changes.put(ClientApiConstants.fullnameParamName, newValue);
clientForUpdate.setFullname(newValue);
}
@@ -1574,4 +1581,38 @@ public class ClientWritePlatformServiceJpaRepositoryImpl implements ClientWriteP
.build();
}
/**
* Title-case a person name. "aditya kumar vyas" / "ADITYA KUMAR VYAS" → "Aditya Kumar Vyas".
* Splits on whitespace, uppercases the first character of each word and lowercases the rest;
* preserves hyphens / apostrophes inside words but does NOT re-capitalise after them (so
* "smith-jones" → "Smith-jones", which keeps the rule simple and predictable for clerks
* verifying KYC names against ID documents). Null / blank → null so we don't accidentally
* persist an empty string in place of an unset field.
*/
private static String toTitleCase(final String raw) {
if (raw == null) {
return null;
}
final String trimmed = raw.trim();
if (trimmed.isEmpty()) {
return null;
}
final String[] parts = trimmed.split("\\s+");
final StringBuilder sb = new StringBuilder(trimmed.length());
for (int i = 0; i < parts.length; i++) {
if (i > 0) {
sb.append(' ');
}
final String p = parts[i];
if (p.isEmpty()) {
continue;
}
sb.append(Character.toUpperCase(p.charAt(0)));
if (p.length() > 1) {
sb.append(p.substring(1).toLowerCase(Locale.ROOT));
}
}
return sb.toString();
}
}
@@ -24,6 +24,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.fineract.infrastructure.core.service.PagedRequest;
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
import org.apache.fineract.portfolio.client.domain.ClientRepository;
import org.apache.fineract.portfolio.client.domain.LegalForm;
import org.apache.fineract.portfolio.client.service.search.domain.ClientSearchData;
import org.apache.fineract.portfolio.client.service.search.domain.ClientTextSearch;
import org.apache.fineract.portfolio.client.service.search.mapper.ClientSearchDataMapper;
@@ -59,9 +60,29 @@ public class ClientSearchService {
String requestSearchText = request.map(ClientTextSearch::getText).orElse(null);
String searchText = Objects.toString(requestSearchText, "");
boolean activeOnly = request.map(ClientTextSearch::getActiveOnly).filter(Boolean::booleanValue).isPresent();
Integer legalFormValue = request.map(ClientTextSearch::getLegalFormType).map(ClientSearchService::parseLegalForm).orElse(null);
Pageable pageable = searchRequest.toPageable();
return clientRepository.searchByText(searchText, pageable, hierarchy, activeOnly).map(clientSearchDataMapper::map);
return clientRepository.searchByText(searchText, pageable, hierarchy, activeOnly, legalFormValue)
.map(clientSearchDataMapper::map);
}
/**
* Maps the request-level legal-form hint to the integer stored on m_client.legal_form_enum.
* Accepts a few aliases callers in the wild use ("INDIVIDUAL", "PERSON", "NON_INDIVIDUAL",
* "ENTITY") and the bare numeric strings. Anything else returns null = no filter, which is the
* safe default — an unrecognised value should not silently drop all clients from results.
*/
private static Integer parseLegalForm(String raw) {
if (raw == null || raw.isBlank()) {
return null;
}
final String v = raw.trim().toUpperCase();
return switch (v) {
case "INDIVIDUAL", "PERSON", "1" -> LegalForm.PERSON.getValue();
case "NON_INDIVIDUAL", "NONINDIVIDUAL", "ENTITY", "2" -> LegalForm.ENTITY.getValue();
default -> null;
};
}
}
@@ -31,4 +31,14 @@ public class ClientTextSearch {
* clients should never appear. Defaults to false to preserve behavior of the general client list.
*/
private Boolean activeOnly;
/**
* Restricts results to a single legal form. Accepts "INDIVIDUAL" (legalFormEnum=1) or
* "NON_INDIVIDUAL" / "ENTITY" (legalFormEnum=2). Used by guardian / nominee / family-member
* link-client pickers, where only natural persons make sense as linkable parties — picking an
* entity as a "guardian" or "spouse" is a data-entry error, so the backend filter is the
* authoritative gate (the SPA also passes the same hint, but a hostile or older client must
* not be able to link entities by omitting the param). Defaults to null = all legal forms.
*/
private String legalFormType;
}
@@ -1,5 +1,7 @@
#
# 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
@@ -23,7 +25,7 @@ fineract.node-id=${FINERACT_NODE_ID:1}
fineract.security.basicauth.enabled=${FINERACT_SECURITY_BASICAUTH_ENABLED:true}
fineract.security.oauth2.enabled=${FINERACT_SECURITY_OAUTH_ENABLED:false}
fineract.security.2fa.enabled=${FINERACT_SECURITY_2FA_ENABLED:false}
fineract.security.2fa.enabled=${FINERACT_SECURITY_2FA_ENABLED:true}
fineract.security.hsts.enabled=${FINERACT_SECURITY_HSTS_ENABLED:false}
#CORS configuration
@@ -44,7 +46,7 @@ fineract.security.oauth2.client.registrations.frontend-client.require-authorizat
fineract.tenant.host=${FINERACT_DEFAULT_TENANTDB_HOSTNAME:localhost}
fineract.tenant.port=${FINERACT_DEFAULT_TENANTDB_PORT:5432}
fineract.tenant.username=${FINERACT_DEFAULT_TENANTDB_UID:postgres}
fineract.tenant.password=${FINERACT_DEFAULT_TENANTDB_PWD:313863}
fineract.tenant.password=${FINERACT_DEFAULT_TENANTDB_PWD:root}
fineract.tenant.parameters=${FINERACT_DEFAULT_TENANTDB_CONN_PARAMS:}
fineract.tenant.timezone=${FINERACT_DEFAULT_TENANTDB_TIMEZONE:Asia/Kolkata}
fineract.tenant.identifier=${FINERACT_DEFAULT_TENANTDB_IDENTIFIER:default}
@@ -405,7 +407,7 @@ server.tomcat.mbeanregistry.enabled=${FINERACT_SERVER_TOMCAT_MBEANREGISTRY_ENABL
spring.datasource.hikari.driverClassName=${FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME:org.postgresql.Driver}
spring.datasource.hikari.jdbcUrl=${FINERACT_HIKARI_JDBC_URL:jdbc:postgresql://localhost:5432/fineract_tenants}
spring.datasource.hikari.username=${FINERACT_HIKARI_USERNAME:postgres}
spring.datasource.hikari.password=${FINERACT_HIKARI_PASSWORD:313863}
spring.datasource.hikari.password=${FINERACT_HIKARI_PASSWORD:root}
spring.datasource.hikari.minimumIdle=${FINERACT_HIKARI_MINIMUM_IDLE:3}
spring.datasource.hikari.maximumPoolSize=${FINERACT_HIKARI_MAXIMUM_POOL_SIZE:10}
spring.datasource.hikari.idleTimeout=${FINERACT_HIKARI_IDLE_TIMEOUT:60000}
@@ -664,3 +666,24 @@ fineract.openproject.api-token=${FINERACT_OPENPROJECT_API_TOKEN:57dd9f933f113c72
# ── DIP / MNRL Mobile Number Lookup ──────────────────────────────────────────
fineract.mobile-lookup.base-url=${FINERACT_MOBILE_LOOKUP_BASE_URL:http://localhost:8080}
# ── Login OTP (2FA) — uses LincPay credentials above ─────────────────────────
fineract.security.otp.lincpay.generate-path=${FINERACT_OTP_LINCPAY_GENERATE_PATH:/mobile/generate-otp}
fineract.security.otp.lincpay.verify-path=${FINERACT_OTP_LINCPAY_VERIFY_PATH:/verify-mobile-otp}
fineract.security.otp.ttl-seconds=${FINERACT_OTP_TTL_SECONDS:300}
fineract.security.otp.max-attempts=${FINERACT_OTP_MAX_ATTEMPTS:5}
# ── Spring Mail (email OTP, alerts, password reset) ──────────────────────────
# IMPORTANT: the password below is a Gmail App Password (NOT the account password).
# Keep env-var override for prod — set SPRING_MAIL_PASSWORD in production environments.
spring.mail.host=${SPRING_MAIL_HOST:smtp.gmail.com}
spring.mail.port=${SPRING_MAIL_PORT:587}
spring.mail.username=${SPRING_MAIL_USERNAME:inform.notifications@gmail.com}
spring.mail.password=${SPRING_MAIL_PASSWORD:vjvgdqxsivbipefw}
spring.mail.properties.mail.smtp.auth=${SPRING_MAIL_SMTP_AUTH:true}
spring.mail.properties.mail.smtp.starttls.enable=${SPRING_MAIL_STARTTLS:true}
spring.mail.properties.mail.transport.protocol=smtp
fineract.email.from-address=${FINERACT_EMAIL_FROM_ADDRESS:no-reply@cbsnexora.com}
fineract.email.from-name=${FINERACT_EMAIL_FROM_NAME:CBSnexora}
fineract.email.support-address=${FINERACT_EMAIL_SUPPORT_ADDRESS:support@cbsnexora.com}
@@ -307,4 +307,5 @@
<include file="parts/0293_create_m_dsc_challenge.xml" relativeToChangelogFile="true"/>
<include file="parts/0294_add_tfa_token_to_dsc_challenge.xml" relativeToChangelogFile="true"/>
<include file="parts/0295_unique_email_mobile_on_m_appuser.xml" relativeToChangelogFile="true"/>
<include file="parts/0296_unique_nominee_per_account_type.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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
-->
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
<!--
Belt-and-braces DB constraint matching the service-level uniqueness check in
ClientNomineeWritePlatformServiceImpl: the same person may not be linked as a nominee
more than once per (account owner, account type). Soft-deleted rows are excluded via the
WHERE clause so revoke + re-add stays possible.
Partial unique index (Postgres). If the platform ever runs on MariaDB / MySQL the WHERE
clause must be dropped — JpaSpecification fallback in the service will still enforce the
rule but at slightly higher cost.
-->
<changeSet id="0296_unique_nominee_per_account_type" author="fineract" dbms="postgresql">
<preConditions onFail="MARK_RAN">
<tableExists tableName="m_client_nominee"/>
</preConditions>
<sql>
CREATE UNIQUE INDEX IF NOT EXISTS uq_client_nominee_per_account_type
ON m_client_nominee (client_id, nominee_client_id, account_type)
WHERE is_deleted = false;
</sql>
<rollback>
<sql>DROP INDEX IF EXISTS uq_client_nominee_per_account_type;</sql>
</rollback>
</changeSet>
</databaseChangeLog>
+1826
View File
File diff suppressed because it is too large Load Diff