Skip to content

Upgrade commons-lang to commons-lang3 and refactor commons-configuration usage#1615

Open
krusche wants to merge 1 commit intoNetflix:masterfrom
krusche:master
Open

Upgrade commons-lang to commons-lang3 and refactor commons-configuration usage#1615
krusche wants to merge 1 commit intoNetflix:masterfrom
krusche:master

Conversation

@krusche
Copy link

@krusche krusche commented Jan 19, 2026

Summary

  • Upgrade from commons-lang:2.x to commons-lang3:3.20.0
  • Refactor code to remove direct dependency on commons-configuration Configuration interface
  • Add explicit commons-lang3 dependency (previously pulled transitively)

Fixes #1603

Changes

Dependencies (build.gradle, eureka-client/build.gradle)

  • Added commons-lang3:3.20.0 as explicit dependency
  • Kept commons-configuration:1.10 (required at compile time by archaius-core:0.7.6)

Code changes

  • PropertiesInstanceConfig.java: Refactored getMetadataMap() to use ConfigurationManager.getConfigInstance() directly instead of casting to Configuration interface
  • DiscoveryClient.java: Updated import from org.apache.commons.lang.exception.ExceptionUtils to org.apache.commons.lang3.exception.ExceptionUtils
  • RedirectingEurekaHttpClient.java: Same import update

Notes

  • commons-configuration:1.10 cannot be fully removed because archaius-core:0.7.6 requires it at compile time (its API returns AbstractConfiguration types)
  • Full migration to commons-configuration2 would require upgrading to archaius2, which is a larger breaking change affecting 24+ files
  • The eureka-client-archaius2 module already exists as an alternative for users who want archaius2 support

Testing

  • All modules compile successfully
  • All tests pass (verified with Java 8 in Docker)
  • No API changes for consumers

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.

Is there any plan upgrade commons-lang to commons-lang3

1 participant