Skip to main content
Last updated October 24, 2013 21:47, by Anatole

Java Configuration Project

Welcome to the Java Configuration project. This project is aimed to continue the work started by Michael Keith on a configuration JSR. Everybody interested may join this project or the corresponding mailing list.

Possible scope

  • A small, elegant, simple and extensible Java API supporting injection, but also a service like access (required for all aspects, where CDI is not available).
  • Just define the mechanisms to be provided on the API/SPI side, do not define what other JSRs should to have include (let the EE expert group discuss that).
  • as a starting point a JSR should target SE with EE in mind
  • be careful not to constraint vendors.
  • also this JSR will not introduce Cloud features, but should help/support implementing such.

It should be possible to configure

  • code configuration
  • deployment configuration

Draft Outline of Functionalities

  • SPI for arbitrary configuration sources, by default XML files, system and environment properties.
  • Definition of configuration in a hierarchy of config units
  • Support for configuration filtering, overriding and stage or environment specific configuration
  • Injection of any types using CDI, including a simple TypeConverter SPI (low level configuration is always modeled as String).
  • The JSR itself should not directly depend on CDI (it should also be usable independent of CDI)
  • Different locations of configuration files (system classpath, ear classpath, app classpath, different file directories, …), including classloader isolation etc., implicit hierarchy/priority of configuration along the classloader hierarchies should be supported
  • Default aggregates for global Configuration, ear leveled configuration and web application configuration etc.
  • Static and dynamic configuration
  • Optionally also Configuration resolution (“dynamic configuration”) and includes.

More to follow. This is just an initial write down (I would even not call it a early draft). Currently there is even not yet a group setup...

Please Confirm