Skip to content

BAH-4444 | Move from Atomfeed event publish to Spring EMREvent - #311

Open
lingeswaranTW wants to merge 4 commits into
masterfrom
BAH-4444
Open

lingeswaranTW wants to merge 4 commits into
masterfrom
BAH-4444

Conversation

@lingeswaranTW

@lingeswaranTW lingeswaranTW commented Mar 31, 2026

Copy link
Copy Markdown

JIRA: BAH-4444

What Changed

  • Replaced Atom Feed event publishing with Spring Event + Outbox pattern
  • Removed all atomfeed-client, atomfeed-server, and openmrs-atomfeed dependencies
  • Added eventoutbox-api dependency for outbox pattern implementation
  • Created 6 new AOP Advice classes for service-layer event interception
  • Migrated existing event interceptors (AddressHierarchyEntry, ConceptService) to new pattern
  • Added global properties for event URL templates and feature flags
  • Updated 23 test files to use EMREvent and mocked event publishers

Why

Current event system was tightly coupled to Atom Feed and lacked flexibility for alternative transports (Kafka, RabbitMQ, etc.). Spring-based event publishing enables:

  • Decoupled event producers and consumers
  • Standard Spring framework patterns
  • Future support for different event transports
  • Transaction-safe event persistence via outbox pattern

How Tested

  • Code compiles successfully (bahmnicore-api, reference-data/omod)
  • Unit tests updated and verified (154 test methods)
  • AOP advice wiring verified in config.xml
  • Liquibase changesets verified for proper preconditions
  • All atomfeed dependencies removed (verified via pom.xml diff)
  • Event publishing API preserved (backward compatible)

Acceptance Criteria Met

  • Events written to outbox within same transaction
  • Liquibase manages outbox schema
  • Modules publish events using Spring (no direct Atom Feed dependency)
  • Interceptors trigger events at service layer
  • Existing functionality remains intact

@lingeswaranTW
lingeswaranTW force-pushed the BAH-4444 branch 3 times, most recently from eb4936e to 1c13b7f Compare April 6, 2026 13:32
@lingeswaranTW
lingeswaranTW force-pushed the BAH-4444 branch 2 times, most recently from f7eecfc to 01cec40 Compare April 8, 2026 06:55
@lingeswaranTW
lingeswaranTW marked this pull request as ready for review April 9, 2026 13:58
@lingeswaranTW lingeswaranTW changed the title Bah 4444 BAH-4444 | Move from Atomfeed event publish to Spring EMREvent Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants