[
https://issues.apache.org/jira/browse/FINERACT-2485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18067919#comment-18067919
]
saifulhuq commented on FINERACT-2485:
-------------------------------------
Hi [~aleks] , completely agree on both fronts.
# Dropping JPA/Hibernate entirely for this layer. I am migrating the
{{IdempotencyStore}} to utilize a lightweight Spring {{JdbcTemplate}} to
execute the native Postgres {{ON CONFLICT DO NOTHING}} query, stripping out all
ORM overhead.
# Excellent point on the transition period. I will refactor the
{{CommandHasher}} to a generic {{CommandHasher<T>}} signature to cleanly
support both the legacy {{CommandSource}} and the new {{Command}} wrapper
side-by-side.
I'll have the POC codebase updated to reflect this today.
> [GSoC 2026] [POC] Standardize and Harden Transaction Idempotency for Savings
> and Loans
> --------------------------------------------------------------------------------------
>
> Key: FINERACT-2485
> URL: https://issues.apache.org/jira/browse/FINERACT-2485
> Project: Apache Fineract
> Issue Type: Sub-task
> Reporter: saifulhuq
> Priority: Major
> Labels: poc, security
>
> *Goal:* Standardize idempotency enforcement to prevent replay attacks in core
> financial modules. *Implementation Strategy (Addressing James Dailey's
> feedback):*
> # *Opt-In Architecture:* New logic will be behind a Global Configuration
> flag. Default remains legacy behavior to ensure 100% backward compatibility.
> # *Phased Approach:* Audit existing {{m_portfolio_command_source}} usage and
> bridge gaps in the Savings module first.
> # *Testing:* Implementation of integration tests simulating network
> failures/retries.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)