Skip to content

feat: Inconsistent i18n Message Resolution in Spring Cloud Environment #29

@dennis9486

Description

@dennis9486

In a Spring Cloud microservices environment, we are experiencing inconsistent internationalization (i18n) message resolution across services and request contexts.

Specifically:

  • MessageSource.getMessage(...) works correctly in:
    • Controllers
    • Standard HTTP request threads
  • But fails or returns default messages in:
    • Async tasks (@Async)
    • Reactive contexts (WebFlux)
    • Feign client fallback / error decoder
    • Global exception handlers
    • Scheduled jobs

The resolved locale is sometimes:

  • null
  • Always Locale.getDefault()
  • Or different from the request's Accept-Language header

Expected Behavior

  • Locale should be resolved consistently based on:
    • Accept-Language header (for HTTP requests)
    • Explicitly set LocaleContext
  • i18n messages should work uniformly in:
    • Controllers
    • Exception handlers
    • Async tasks
    • Reactive pipelines
    • Feign-related components

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingenhancementNew feature or request

Type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions